์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 CRUD
- SWiFT
- ์๊ณ ๋ฆฌ์ฆ
- Mac
- ์ฑ๋ง๋ค๊ธฐ
- Filter
- components
- Encodable
- RxSwift
- map
- ์ฑ๋์์ธ
- ExpressJS
- Reduce
- String.Index
- ios
- UIRefreshController
- mongoose
- Figma
- Cloud Firestore
- ์ง๋ฒ๋ณํ
- Codable
- Firestore
- MongoDB
- nodejs
- Decodable
- AVAudioPlayer
- ํ๋ก๊ทธ๋๋จธ์ค
- Core Data
- DispatchQueue
- CRUD
- Today
- Total
๋ชฉ๋กSWiFT (59)
Focus On Develop ๐ค๐ค
์์ธ ์ ๋ณด : 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..
๋ฌธ์ ์์ ํ๋ผ๋ ๋๋ก๋ง ํ๋ฉด ๋๋..? ๋ฌธ์ ๊ฐ๋ค. ํฌ๊ฒ ์๊ฐํด์ผ ํ ๋ถ๋ถ์ ์์ ๊ฒ ๊ฐ์๊ณ , ํ๊ฐ์ง ์ฃผ์ํด์ผ ํ ๋ถ๋ถ์ commands์์ ๊ฐ ์์(๋ฐฐ์ด)์ ๊ฐ๋ค์ "n๋ฒ์งธ" ์ด์ง ์ธ๋ฑ์ค๊ฐ "n"์์ ๋ํ๋ด๋ ๊ฒ์ด ์๋๋ฏ๋ก, Out Of Index Error๋ฅผ ํผํ๊ธฐ ์ํด commands์ ๊ฐ ์์๋ค์ ์ธ๋ฑ์ค๋ก ํ์ฉํ๊ธฐ ์ํด ๋ชจ๋ -1์ ์ฒ๋ฆฌํ ํ์ ์ฌ์ฉ ํด์ผ ํ๋ค๋ ์ ์ด๋ค. import Foundation func solution(_ array:[Int], _ commands:[[Int]]) -> [Int] { var result: [Int] = [] for command in commands { var orderArray = array[command[0]-1...command[1]-1].sorted..
3๋ช ์ ์ํฌ์์ ๋ต์์ ์ถ ํจํด์ ์๋ ค์ฃผ๊ณ , ์ ๋ต์ด ์ฃผ์ด์ก์๋ ๋๊ฐ ์ ์ผ ๋ง์ด ๋ต์ ๋ง์ท๋? ํ๋ ๋ฌธ์ ๊ณ , ์ํฌ์๋ค์ด ๋์ผํ ์ ์๋ฅผ ์ต๋ํ๋ค๋ฉด ์ต๊ณ ๋์ ์๊ฐ ์ฌ๋ฌ๋ช ์ด ๋ ์๋ ์๋ค. ์ด ๋ฌธ์ ์์ ์๊ฐํด๋ด์ผ ํ ํฌ์ธํธ๋ ํฌ๊ฒ 2๊ฐ์ง๋ผ๊ณ ์๊ฐํ๋ค. 1) ์ ๋ต๊ณผ ๋ฐ๋ณต๋๋ ํจํด์ ์ด๋ป๊ฒ ๋น๊ตํ ์ง์, 2) ์ง๊ณ๋ ์ ์๋ก ์ต๊ณ ๋์ ์ ๋ฐฐ์ด์ ์ด๋ป๊ฒ ๋ง๋ค์ง? ์ฐ์ ๋ฐ๋ณต๋๋ ํจํด์.. ๊ฐ์ฅ ์ฝ๊ฒ ๋ ์ฌ๋ฆด ์ ์๋ ๋ฐฉ๋ฒ์ ํจํด์ ๋ฐ๋ณต๋๋ ๋จ์์ ๊ฐฏ์(์ ๋ฌธ์ ์ ๊ฒฝ์ฐ 5๊ฐ, 8๊ฐ, 10๊ฐ)์ ๋ํ ์ต์๊ณต๋ฐฐ์๋ฅผ ์๋ฉด, ์ ๋ต์ ํ๋ฒ ํ์ํ๋ฉด์ ํจํด์ ์ฒ์์ผ๋ก ๋์๊ฐ๊ฒ๋ ํ๋๊ฒ ๊ฐ๋ฅํ๋ค. ์ฌ๊ธฐ์ ์๊ฐ์ ์กฐ๊ธ๋ง ์์ฉํด๋ณด๋ฉด, ์ ๋ต ๋ฐฐ์ด์ ํ์ํ๋ ๋์ ๊ทธ์์ ์ Index๋ฅผ ๊ฐ ํจํด ๋จ์์ ๊ฐฏ์๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ฐพ์๋ฒ๋ฆฌ๋ฉด ๋ฐ๋ก ๊ณ์ฐํ์ง ..
์์ธ๋ด์ฉ : Set | Apple Document ๊ทธ๋ ๋ค๊ณ ํ๋ค.. Apple Developer Documenet๋ ์ฝ๋ ์ต๊ด์ ๋ค์ด๋๊ฒ ์ค์ํ๊ธด ํ์ง๋ง ์ญ์ ์์ด๋ ์ด๋ ต๋ค ใ ใ ์ค๋๋ ๋๋ฆ๋๋ก ์์๋ณผ ์ ์๋ ๋์ ์ธ์ด๋ก ์ ๋ฆฌํด๋ฌ์ผ๊ฒ ๋ค. Set(์งํฉ)์ Hashable ํ์ ์ ๋ด๋ Collection ์๋ฃ๊ตฌ์กฐ ์ค ํ๋๋ก, ์ค์ ์ํ์์์ ์งํฉ๊ณผ ๋น์ทํ ํน์ง์ ๊ฐ๋๋ค. "์์๋ ์ค์ํ์ง ์๊ณ , ์ค๋ณต๊ฐ์ ํ์ฉํ์ง ์๋, Type์ด ๊ฐ์ ๋ฐ์ดํฐ๋ค์ ๋ชจ์" ๊ทธ๋ผ Set์ ์ด๋ป๊ฒ ์ฐ๋์ง ๋ณด์. 1. Set ์์ฑ var mySet = Set() var mySet2: Set = [] 2. Set์ ๋ฐ์ดํฐ ์ฝ์ , ์ญ์ var mySet: Set = ["my", "name", "is", "kt"] // Type์ Se..