์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- Firestore
- components
- Cloud Firestore
- MongoDB
- Encodable
- SWiFT
- ios
- ์๊ณ ๋ฆฌ์ฆ
- Mac
- Codable
- nodejs
- Figma
- CRUD
- RxSwift
- Core Data
- ํ๋ก๊ทธ๋๋จธ์ค
- ExpressJS
- Firestore CRUD
- ์ง๋ฒ๋ณํ
- ์ฑ๋์์ธ
- DispatchQueue
- Decodable
- Reduce
- Filter
- String.Index
- map
- UIRefreshController
- ์ฑ๋ง๋ค๊ธฐ
- AVAudioPlayer
- mongoose
- Today
- Total
๋ชฉ๋กiOS [Swift] (55)
Focus On Develop ๐ค๐ค
์ฌ์ค ์ฃผ์ด์ง๋ a, b ์ฌ์ด์ ํฉ์ for๋ฌธ์ผ๋ก ๋๋ฆฌ๋ฉด ๋๋ ๊ฐ๋จํ ๋ฌธ์ ์ธ๋ฐ, ๊ณ ๋ฏผ๋๋๊ฑด a์ b์ ๋์๊ด๊ณ๋ฅผ ๋น๊ตํ์ง ์๊ณ ํ๋ฒ์ ์ ์ฉ ๊ฐ๋ฅํ ๋ก์ง์ด ์๋..? ์.. reduce๋ฅผ ์ฐ๋ฉด ๋ ๊ฒ ๊ฐ์๋ฐ Array๋ฅผ ๋ฒ์๋ก ์ ์ํ ์ค ๋ชจ๋ฅด๋ ํ์ฐ์ด๋ฏ๋ก.. ์ผ๋จ ํ๊ณ ๊ณต๋ถํด์ผ๊ฒ ๋ค ใ ใ ๐ญ func solution(_ a:Int, _ b:Int) -> Int64 { var res: Int64 = 0 if a > b { for i in b...a { res += Int64(i) } return res } else { for i in a...b { res += Int64(i) } return res } } ์ผ๋จ ํต๊ณผํ๊ณ ๋ค๋ฅธ์ฌ๋ ํ์ด ์ฐธ๊ณ ํด๋ณด๊ธฐ ๊ณ ๊ณ ์ฑ !!! ์ค์ค.. Array๋ฅผ ๋ฒ์๋ก ์ ์ํ๋ ค๋ฉด ์ด๋ ๊ฒ ํ๋ฉด ..
์ด๋ฒ์๋ ๋ ํํํ์ง ๋ง๊ณ filter๋ฅผ ์ ๊ทน ํ์ฉํด์ผ๊ฒ ๋ค!! (๋์ด๋ ๋งค์ฐ ์ฌ์ด ๋ฌธ์ ๋ฅผ ๋ณด๋ ๋ฐ๋ก ๋ ์ค๋ฅด๋๊ตฐ ใ ใ ๐๐) returnํ๋ ๋ฐฐ์ด์ด ์ ๋ ฌ๋์ด์ผ ํ๋๋ฐ, ์ ๋ ฌ ์์ ์ filter๋ฅผ ํ๊ธฐ ์ /ํ ๋ฌด๊ดํ ๋ฏ ํ๋ค. func solution(_ arr:[Int], _ divisor:Int) -> [Int] { let divided = arr.filter { $0 % divisor == 0 }.sorted() return divided.count != 0 ? divided : [-1] } ์๋ง ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ํ๊ธฐ ์์ํ ์ดํ๋ก ์ ์ผ ๋จ์๊ฐ์ ํ์ ๋ฌธ์ ์ธ๋ฏ..!? ใ ใ ๋๋ฌด ์ฌ์ด๊ฑฐ ์ฐพ์ํธ๋ ๋๋์ด๋ผ ์ค๋์ ๋ช๊ฐ ๋ ํ์ด์ผ๊ฒ ๋ค ๐ ๐ ์๊ณ ๋ฆฌ์ฆ์์ ์ฌ์ฉ๋ filter๊ฐ ๊ถ๊ธํ๋ค๋ฉด?? ๐ 2020/12..
string์ ๋ด๊ณ ์๋ ๋ฐฐ์ด์ด ์ฃผ์ด์ง๊ณ , ๊ฐ ์์์ ํน์ ์ธ๋ฑ์ค์ ์๋ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๋, ๊ทธ ๊ฐ์ด ๋์ผํ๋ฉด ์ฌ์ ์์ผ๋ก ์ ๋ ฌํด์ผ ํ๋ ๋ฌธ์ ๋ค. ๊ทธ๋์ ๊ณ ๋ฏผํด๋ดค๋๋ฐ.. ํน์ ์ธ๋ฑ์ค์ ์๋ ๊ฐ์ผ๋ก ์ ๋ ฌ์ ํ๊ณ ๋์ ์์ธ ๊ฑธ ์ด๋ป๊ฒ ์ํ๋ฒณ ์์ผ๋ก ๋ง์ถ์ง!? ๊ทธ ๊ธฐ์ค๊ฐ์ ๋ํด ๊ทธ๋ฃจํ์ด ๋์ด์์ด์ผ ํ๋!? ํ๋ฉด์ Dictionary๋ก ํ์ด์ผ ํ ๊น ์ถ์๋๋ฐ.. ๊ณฐ๊ณฐํ ๋ณด๋ค๋ณด๋ ใ ใ ์ด๊ฒ ์์๋ง ๋ฐ๊ฟ์ฃผ๋ฉด ๋์์? ๋จผ์ ์ํ๋ฒณ ์์๋ก ์ ๋ ฌํ ๋ค์, ํน์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํด๋ ๊ธฐ๋ณธ ๋ฒ ์ด์ค ์์๋ ์ ์ง๋๊ฒ ๊ตฐ!? ใ ใ func solution(_ strings:[String], _ n:Int) -> [String] { let sorted = strings.sorted() return sorted.sorted { $0[$..
์์ธ ์ ๋ณด : String.Index | Apple Document ๋ค๋ฅธ ์ธ์ด๋ค(C, JAVA, Python ๋ฑ)์ String์ด ์ฃผ์ด์ก์๋, ๋ฐ๋ก Character์ ๋ฐฐ์ด์ฒ๋ผ ์ธ๋ฑ์ค๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค. ๊ทธ๋ฐ๋ฐ.. Swift์ String์ Index(์ซ์) ๋ก ํน์ ๋ฌธ์๋ก ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์, ํน์ ๋ฌธ์๋ก ๋ฐ๋ก ์ ๊ทผํ๊ธฐ ์ํด์๋ String.Index Type๋ฅผ ์ฌ์ฉํด์ผํ๋ค. ๋ช๊ฐ์ง ์์๋ฅผ ๋ณด๋ฉด์ ์์ธํ ์ดํด๋ณด์. let string = "hello" let firstCharacter = string[0] // ERROR ์ด๋ ๊ฒ String์ ์ซ์ Index๋ก ๋ฐ๋ก ์ ๊ทผ์ ๋ชปํ๋ค. ๋์ ์ String.Index Type์ผ๋ก startIndex(์์), endIndex(๋)์ ๊ฐ๋ฆฌํค๋ Index๋ฅผ ..
์..?? ๋๋ฌด์ฌ์ด๋ฐ..??ใ ใ ์ฃผ์ด์ง๋ s์ ๊ธธ์ด๊ฐ ์ง์/ํ์๋์ ๋ฐ๋ผ ๊ณ์ฐ์ ์ฝ๊ฐ๋ง ๋ค๋ฅด๊ฒ ํด์ฃผ๋ฉด ๋ ๊ฒ ๊ฐ๋ค. Swift๋ ํ์คํ C, Python, JAVA๋ณด๋ค String ๊ด๋ จ๋ ๊ธฐ๋ฅ์ ์ฝํ(?) ๊ธฐ๋ถ์ด๋ค.. string[index] ์์ index๋ฅผ ๋ด๊ฐ ์ ํ ์ซ์๋ก ์ ๊ทผํ ์๊ฐ ์๊ณ , Swift์์๋ index์ String.Index Type์ผ๋ก ๋ฃ์ด์ค์ผ ํ๋ค๋ ์ ... ํํ. ์ํผ String.Index๋ก ๋ฌธ์ ํ๊ธฐ! func solution(_ s:String) -> String { let firstIndex = s.startIndex let length = s.count if length % 2 == 0 { return String(s[s.index(firstIndex, offsetBy..
์์ธ๋ด์ฉ : radix | Apple Document ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ๋ค๊ฐ, ๋ค๋ฅธ์ฌ๋์ ํ์ด๋ฅผ ๋ณด๊ณ ๊ฐํํ๊ณ ๋ฐ๋ก ์ ๋ฆฌ๋ฅผ ํ๋ฌ ์๋ค ใ ใ ๋๊ตฐ์ง๋ ๋ชจ๋ฅด์ง๋ง ๊ทธ๋ถ๊ป ๊ฐ์ฌ ๐๐ ์ํผ ์์ง๋ ์ซ์๋ ์ซ์ํํ์ ๋ฌธ์๋ String ์ผ๋ก ํ๋ณํ์ ์ง๋ฒํ๊ธฐ๋ฅผ ๋งค์ฐ๋งค์ฐ ์ฝ๊ฒ ๋์์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค. ์ง๋ฒํ๊ธฐ ๋ณํ์ ์ํ๋ ์ซ์๋ ์ซ์ํํ์ ๋ฌธ์ / ๋ช์ง๋ฒ์ผ๋ก ํ๊ธฐํ ์ง๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๋ฃ์ผ๋ฉด.. ๋๋ฑ ๋ณํํด์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค. ๋์ค์๋ผ๋ ์๊ณ ๋ฆฌ์ฆ ์ง๋ฒ ๋ฌธ์ ํธ๋๋ฐ Swift๋ก ๋ฌธ์ ํผ๋ค๋ฉด ๋งค์ฐ ๋์์ด ๋ ๊ฒ ๊ฐ๋ค. (๋ค๋ฅธ ์ธ์ด๋ ์ด๋ฐ๊ธฐ๋ฅ ์์ผ๋ ค๋..!? ๋จ๋ ใ ใ ) let flipToThree = String(45, radix: 3) // 45๋ฅผ 3์ง๋ฒ์ผ๋ก ํ๊ธฐ -> "1200" let flipToTen = Int(String(f..
์ด๋ฒ ๋ฌธ์ ๋ ์ ์ถ๋ ฅ ์์ ๋ฅผ ๋ณด์ง ์์ผ๋ฉด ๋๋ถ๋ถ ์?? 3์ง๋ฒ์ด ๋ญ๋๋ผ?? ํ ๊ฒ ๊ฐ๋ค ใ ใ (์ ๋ง ๊ทธ๋์?? ๋ ์ฉ ๐) ๊ทธ๋์ ๋ฌธ์ ์ ์ ์ถ๋ ฅ ์์ ๋ฅผ ์ถ๊ฐํ๋ค..ํํ..ใ ์ํผ ์ผ๋จ ์์ฐ์๋ฅผ ์ ๋ ฅ๋ฐ์ผ๋ฉด, 3์ผ๋ก ๊ณ์ ๋๋๋ฉด์ ๋ชซ์ด 3๋ณด๋ค ์์์ง๊ธฐ ์ ๊น์ง ๊ณ~์ ๋๋๊ณ .. ๊ทธ ๊ณผ์ ์์ ๋ฐ์ํ ๋๋จธ์ง(0, 1, 2 ๊ฒ ์ฃ !?)๋ฅผ ๊ฑฐ๊พธ๋ก ์ญ~ ์ด์ด ๋ถ์ด๋ฉด 3์ง๋ฒ ํํ์ด ๋๋ค. ๋ณดํต 10์ง์๋ฅผ ๋ค๋ฅธ ์ง์๋ก ๋ณ๊ฒฝํ๋ ๋ก์ง์ ๊ตฌํํ๋ฉด ์์๊ฐ ๋ฐ์ ๋ ์ง์๋ก ํํ๋์, ์ฌ๋ฐ๋ฅธ ์ง๋ฒ ํ๊ธฐ๋ฅผ ์ํด์๋ ๊ฒฐ๊ตญ์ reverse์์ ์ ํด์ค์ผ ํ๋๋ฐ.. ์ด ๋ฌธ์ ๋ ๋ฌธ์ ์์ ํ๋ฒ ๋ค์ง์ผ๋ผ๊ณ ํ๋ค? ใ ใ ๊ฟ~~๐๐ (์ด์ฐจํผ ์ฝ๋๋ ํ์ค์ด์ง๋ง ใ ใ ) ๊ทธ๋ฐ ํ์ 3์ง์๋ฅผ 10์ง๋ฒ์ผ๋ก ํํํ๋ ค๋ฉด, ์ ์ผ ์์์๋ฆฌ(์ ์ผ ์ฐ์ธก) ๋ถํฐ 3์ 0์ ๊ณฑx..
์ด ๋ฌธ์ ๋ ๋งค๋ฌ ๋ช์ผ๊น์ง ์๋์ง ์๊ณ ์์ด์ผ ํ๋๊ฒ ํฌ์ธํธ๋ค.. (๋ค๋ค ์ฃผ๋จน์ง๊ณ ํฐ๋ฌ ์์๋ฌ ์์์ฅฌ..!?ใ ใ ๐) ์์ด~ ์ฝ๋ฉ์ธ๋ฐ ์์ผ ๊ตฌํ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ ์์๊น? ๋ผ๊ณ ์ ๊ทผํ๋ฉด ์ด๋ ค์์ง๋ค.. "๋งค๋ฌ ๋ช์ผ๊น์ง ์๋์ง ์ฝ๋๊ฐ ์๊ณ ์์ด์ผํ๋ค"๋ฅผ ๋ช ์ฌํ์. ํ๋์ฝ๋ฉ์ด ์๋๋๊น ์์ฌํ์..ใ ใ ๊ทธ๋ ๊ฒ ๋๋ฉด 1์1์ผ์ด ๊ธ์์ผ์ด๋๊น ์์ผ์ ๊ธ~๋ชฉ ์์๋๋ก ๊ฐ์ง๊ณ ์๊ณ , 1์ 1์ผ๋ถํฐ ์ ๋ ฅ์ผ๋ก ๋ค์ด์ค๋ ๋ ์ง๊น์ง ์ด ์ผ์ % 7๋ก ๊ตฌํ๋ฉด ๋ ๋ฏ ํ๋ค. ์ฌ๊ธฐ์ ํ๊ฐ์ง ์ฃผ์ํด์ผ ํ ์ ์, ์๋ฅผ๋ค์ด 1์2์ผ์ด๋ผ๊ณ "์ผ์"๊ฐ 2๊ฐ๋๋๊ฒ ์๋๋ผ 1์ด๋๋ค๋ ์ ์ด๋ค.ใ (-1์ ์์ง๋ง์) let days31: [Int] = [1, 3, 5, 7, 8, 10, 12] let days30: [Int] = [4, 6, 9, 11] let..