์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- Filter
- ์ฑ๋์์ธ
- Cloud Firestore
- DispatchQueue
- String.Index
- MongoDB
- Codable
- nodejs
- Encodable
- Decodable
- map
- Mac
- Core Data
- Firestore
- ์ง๋ฒ๋ณํ
- CRUD
- ํ๋ก๊ทธ๋๋จธ์ค
- Figma
- ์๊ณ ๋ฆฌ์ฆ
- RxSwift
- Reduce
- ios
- components
- AVAudioPlayer
- ์ฑ๋ง๋ค๊ธฐ
- ExpressJS
- mongoose
- Firestore CRUD
- SWiFT
- UIRefreshController
- Today
- Total
๋ชฉ๋กiOS [Swift]/์๊ณ ๋ฆฌ์ฆ (23)
Focus On Develop ๐ค๐ค
์..?? ๋๋ฌด์ฌ์ด๋ฐ..??ใ ใ ์ฃผ์ด์ง๋ 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..
์ด๋ฒ ๋ฌธ์ ๋ ์ ์ถ๋ ฅ ์์ ๋ฅผ ๋ณด์ง ์์ผ๋ฉด ๋๋ถ๋ถ ์?? 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๋ฅผ ๊ฐ ํจํด ๋จ์์ ๊ฐฏ์๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ฐพ์๋ฒ๋ฆฌ๋ฉด ๋ฐ๋ก ๊ณ์ฐํ์ง ..
์ฐ์ ์ ํ์ฌํญ์ ๋ณด๋ฉด ์ ์ฒด Input์ ์๋ ํฌ์ง ์์์ ์๊ฐ์ด๊ณผ๋ ํฌ๊ฒ ๋ฌธ์ ๊ฐ ๋ ๊ฒ ๊ฐ์ง๋ ์๋ค. ๋๋๋นํ ํ์, ์ฌ๋ฒ์ ์ฒด์ก๋ณต์ ๊ฐ์ง ํ์์ด ๊ฐ๊ฐ ๋ฐ๋์ ์กด์ฌํ๋, ์๋ ๊ฒฝ์ฐ์ ๋ํ ํ ์คํธ ์ผ์ด์ค๋ ๋ฐ๋ก ์์ธ์ฒ๋ฆฌํ์ง ์์๋ ๋ ๊ฒ ๊ฐ๋ค. (๋ณดํต ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ๋ ํ ์คํธ ์ผ์ด์ค์ ๋๋ถ๋ถ ์กฐ๊ฑด(?) ์์ ์์ธ์ฒ๋ฆฌ ํด์ค์ผ ํ ๋ถ๋ถ์ด ์ข ์ข ์๊ธฐ๋ ๊ฒ ๊ฐ๋ค.) reserve๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฌ๋ฒ์ด ์๋ ํ์์ด ๋๋๋นํ ํ์(lost)์๊ฒ ๋น๋ ค์ค๋ค๊ณ ์ํฉ์ ๊ฐ์ ํ๊ณ ๋ฌธ์ ๋ฅผ ํ ๊ฒ์ด๋ค. ๋จผ์ reserve์ ์๋ ํ์์ด lost์๋ ์๋์ง ์ฒดํฌ (์ฌ๋ฒ์ด ์์ด๋ ๋๋๋นํ์ผ๋ฉด ๋น๋ ค์ค ์ ์๊ธฐ ๋๋ฌธ) ํ๊ณ , ๋ณธ์ธ ์ -> ๋ค ์์๋ก lost์ ํฌํจ๋์ด ์์ผ๋ฉด ๋น๋ ค์ฃผ๊ณ , ๋๋๋นํ ๋ชฉ๋ก์์ ์ง์์ฃผ๋ฉด ๋๊ฒ ๋ค. ์ฌ๊ธฐ์ ๋น๋ ค์ฃผ๋..
์ด ๋ฌธ์ ๋ ์ ์ํ ๋ฐฐ์ด์ด ์ฃผ์ด์ง๊ณ , ๊ทธ ์์์ ์์์ ๋ ์ซ์๋ฅผ ๊ณจ๋ผ ๋ ์๋ฅผ ํฉํ ๊ฐ์ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ๊ตฌํด์ผ ํ๋ ๋ฌธ์ ๋ค. ์ ํ์ฌํญ์ ์ฃผ์ด์ง๋ ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ๋ณด๋ฉด Worst Case์ ํ์ ํ์๋ 10000ํ (100x100) ์ธ๋ฐ, ์ฌ์ค์ ์ด์ ๋๋ ์ ํ์๊ฐ์ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค๊ณ ํ๋จํ๋ค. (1์ตํ ์ฐ์ฐ/ํ์ ๊ธฐ์ค 1์ด๋ก ํ๋จ) ๊ทธ๋ฅ Brute force ๋ฐฉ์์ผ๋ก ๋ฐฐ์ด์ ํ์ํ๋ฉด์ ๋ ์์ ํฉ์ ๋ชจ์ ๋ค์ ๋ง์ง๋ง์ ์ค๋ณต์ ๊ฑฐ, ์ ๋ ฌ๋ง ํด์ฃผ๋ฉด ๋๊ฒ ๊ตฌ๋. ์ ๋ ฌ์ Array์์ ์ ๊ณตํ๋ .sorted() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๊ณ , ์ค๋ณต์ ๊ฑฐ๋ Set์ ์ด์ฉํ๋ฉด ๋๊ฒ ๋๊ฑธ..!? import Foundation var result: [Int] = [] func solution(_ numbers:[Int]) -> [Int..