์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Mac
- Firestore CRUD
- Core Data
- Decodable
- AVAudioPlayer
- Encodable
- Figma
- components
- UIRefreshController
- Firestore
- ์ฑ๋์์ธ
- RxSwift
- ์ฑ๋ง๋ค๊ธฐ
- CRUD
- SWiFT
- ios
- Cloud Firestore
- ์๊ณ ๋ฆฌ์ฆ
- Filter
- Codable
- ExpressJS
- MongoDB
- ํ๋ก๊ทธ๋๋จธ์ค
- Reduce
- ์ง๋ฒ๋ณํ
- nodejs
- map
- mongoose
- DispatchQueue
- String.Index
- Today
- Total
Focus On Develop ๐ค๐ค
[ํ๋ก๊ทธ๋๋จธ์ค] 3์ง๋ฒ ๋ค์ง๊ธฐ ๋ณธ๋ฌธ
<๋ฌธ์ >
<์ ๋ต์ง๊ธฐ>
์ด๋ฒ ๋ฌธ์ ๋ ์ ์ถ๋ ฅ ์์ ๋ฅผ ๋ณด์ง ์์ผ๋ฉด ๋๋ถ๋ถ ์?? 3์ง๋ฒ์ด ๋ญ๋๋ผ?? ํ ๊ฒ ๊ฐ๋ค ใ ใ (์ ๋ง ๊ทธ๋์?? ๋ ์ฉ ๐) ๊ทธ๋์ ๋ฌธ์ ์ ์ ์ถ๋ ฅ ์์ ๋ฅผ ์ถ๊ฐํ๋ค..ํํ..ใ ์ํผ ์ผ๋จ ์์ฐ์๋ฅผ ์ ๋ ฅ๋ฐ์ผ๋ฉด, 3์ผ๋ก ๊ณ์ ๋๋๋ฉด์ ๋ชซ์ด 3๋ณด๋ค ์์์ง๊ธฐ ์ ๊น์ง ๊ณ~์ ๋๋๊ณ .. ๊ทธ ๊ณผ์ ์์ ๋ฐ์ํ ๋๋จธ์ง(0, 1, 2 ๊ฒ ์ฃ !?)๋ฅผ ๊ฑฐ๊พธ๋ก ์ญ~ ์ด์ด ๋ถ์ด๋ฉด 3์ง๋ฒ ํํ์ด ๋๋ค. ๋ณดํต 10์ง์๋ฅผ ๋ค๋ฅธ ์ง์๋ก ๋ณ๊ฒฝํ๋ ๋ก์ง์ ๊ตฌํํ๋ฉด ์์๊ฐ ๋ฐ์ ๋ ์ง์๋ก ํํ๋์, ์ฌ๋ฐ๋ฅธ ์ง๋ฒ ํ๊ธฐ๋ฅผ ์ํด์๋ ๊ฒฐ๊ตญ์ reverse์์ ์ ํด์ค์ผ ํ๋๋ฐ.. ์ด ๋ฌธ์ ๋ ๋ฌธ์ ์์ ํ๋ฒ ๋ค์ง์ผ๋ผ๊ณ ํ๋ค? ใ ใ ๊ฟ~~๐๐ (์ด์ฐจํผ ์ฝ๋๋ ํ์ค์ด์ง๋ง ใ ใ ) ๊ทธ๋ฐ ํ์ 3์ง์๋ฅผ 10์ง๋ฒ์ผ๋ก ํํํ๋ ค๋ฉด, ์ ์ผ ์์์๋ฆฌ(์ ์ผ ์ฐ์ธก) ๋ถํฐ 3์ 0์ ๊ณฑxํํ์ซ์, 3์ 1์ ๊ณฑ x ํํ์ซ์ ... ์ด๋ ๊ฒ ์ด์ด๋ถ์ด๋ฉด ๋๋ค! ์ด๋ ค์ ๋ณด์๋๋ฐ ์ฌ์ธ๊ฑฐ๊ฐ๋ค..!? ๐ ๐
<์ฝ๋>
import Foundation
func TenToThreeReversed(n: Int) -> [String] {
var threeArray: [String] = []
var n = n
while n >= 3 {
threeArray.append(String(n%3))
n /= 3
}
threeArray.append(String(n%3))
return threeArray
}
func ThreeToTen(array: [String]) -> Int {
var ten = 0
var three = 1
for n in array.reversed() {
ten = ten + (three * Int(n)!)
three *= 3
}
return ten
}
func solution(_ n:Int) -> Int {
return ThreeToTen(array: TenToThreeReversed(n: n))
}
<Lesson Learned>
์ด๋ฒ์๋ 10์ง์๋ฅผ 3์ง์๋ก, 3์ง์๋ฅผ 10์ง์๋ก ๋ณ๊ฒฝํ๋ ํจ์๋ฅผ ๊ฐ๊ฐ ๋ฐ๋ก ๊ตฌํํ๋ค. ์ด ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ํ๊ฐ์ง ์๊ฒ ๋ ์ ์, ํ๋ณํ์ Int -> String ์ผ๋ก ์๋์ ์๋ฌด๋ฐ ์ด์๊ฐ ์์๋๋ฐ, String -> Int ๋ก ํ๋ณํ ์๋์ Int("123")๋ ์ต์ ๋ ํ์ ์ด๋ unwrapping์ ํด์ฃผ๋ผ๊ณ ํ๋๋ผ..?? ๊ทธ๋์ ์ฐพ์๋ณด๋, String์ผ๋ก ํํ๋ ์ซ์ "123", "55" ๋ฑ์ ๋น์ฐํ Int๋ก ํํ ๋๊ฒ ์ง. ์ถ์ง๋ง, String์ด "hello" ๋ผ๋ฉด..? ๊ทธ๋ผ Int()๋ก ํ๋ณํ์ ํ ์ ์๊ณ , nil ์ด ๋๊ฒ ๋๋ค. ๋ฐ๋ผ์ String -> Int๋ก ๋ณํ์ unwrapping ๊ณผ์ ์ ๊ฑฐ์น ๊ฒ~! ์ด ๋ฌธ์ ๋ ๋ฐ๋์ ์ซ์ํ์์ String์ด๋ผ ๊ฐ์ ๋ก ๋ฒ๊ฒจ์ฃผ๊ธด ํ์ง๋ง..
์๋ฌดํผ ์ด๋ฒ์๋ ๋ค๋ฅธ์ฌ๋์ ํ์ด๋ฅผ ๋ดค๋๋ฐ, ์์ฒญ๋๊ฑธ ์๊ฒ ๋๋ค..!! ๊ฐ์ฌํฉ๋๋น ใ ใ ใ ์ด๊ฑฐ๋ผ๋ฉด Swift๋ก ์ง๋ฒ๋ฌธ์ ํ๋ฉด ๋ฌด์ ์ผ๋ฏ ๐๐
๋ญ์ง ์์ ๊ถ๊ธํ์ฅฌ???
๊ถ๊ธํ๋ฉด ์ฌ๊ธฐ๋ก!! ๐ 2020/12/16 - [iOS [Swift]/๊ธฐ์ด๋ฅผ ํํํ!] - [Swift] String Radix๋ฅผ ํตํ ์ง๋ฒ๋ณํ
์ถ์ : ํ๋ก๊ทธ๋๋จธ์ค 3์ง๋ฒ ๋ค์ง๊ธฐ
'iOS [Swift] > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฌธ์์ด ๋ด ๋ง์๋๋ก ์ ๋ ฌํ๊ธฐ (0) | 2020.12.18 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ฐ์ด๋ฐ ๊ธ์ ๊ฐ์ ธ์ค๊ธฐ (0) | 2020.12.17 |
[ํ๋ก๊ทธ๋๋จธ์ค] 2016๋ (0) | 2020.12.16 |
[ํ๋ก๊ทธ๋๋จธ์ค] K๋ฒ์งธ์ (0) | 2020.12.16 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ชจ์๊ณ ์ฌ (0) | 2020.12.16 |