์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ExpressJS
- ์ง๋ฒ๋ณํ
- AVAudioPlayer
- CRUD
- Decodable
- Filter
- ์ฑ๋ง๋ค๊ธฐ
- DispatchQueue
- ios
- Mac
- Codable
- MongoDB
- UIRefreshController
- Firestore CRUD
- String.Index
- Reduce
- components
- ์๊ณ ๋ฆฌ์ฆ
- Core Data
- mongoose
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ฑ๋์์ธ
- Encodable
- nodejs
- Cloud Firestore
- Firestore
- RxSwift
- map
- Figma
- SWiFT
- Today
- Total
๋ชฉ๋กiOS [Swift] (55)
Focus On Develop ๐ค๐ค
๋ฌธ์ ์์ ํ๋ผ๋ ๋๋ก๋ง ํ๋ฉด ๋๋..? ๋ฌธ์ ๊ฐ๋ค. ํฌ๊ฒ ์๊ฐํด์ผ ํ ๋ถ๋ถ์ ์์ ๊ฒ ๊ฐ์๊ณ , ํ๊ฐ์ง ์ฃผ์ํด์ผ ํ ๋ถ๋ถ์ 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..
์์ธ ๋ด์ฉ : enumerated() | Apple Document ๋ ์์ด๋ค.. ๐ ์ํผ ์ด๋ ์์ ๋ฐฐ์ดํํ์ Sequence ๋ฐ์ดํฐ๋ฅผ ํ์ํ ๋ ๊ฐ ๋ฐ์ดํฐ๋ง๋ค (n, x) ํํ์ ํํ์ ๋ฆฌํดํ๋๋ฐ, ์ฌ๊ธฐ์ n์ ์ธ๋ฑ์ค, x๋ ํด๋น๋๋ ์์์ ๊ฐ์ ๋ํ๋ธ๋ค. ์๋ฅผ ๋ค์ด์ ๋ค๋ฅธ Language์์ ์๋์ฒ๋ผ for๋ฌธ์ ํตํด ๋ฐฐ์ด์ ์ํํ๋๋ฐ, (C++ ๋๋ฌด ์ค๋๋ง์ด๋ผ ๋ฌธ๋ฒ๋ ๋ชจ๋ฅด๊ฒ ๋ค ใ ใ ; ๐ฉ) for (int i=0; i
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..
Apple Developer Document์์ map, filter, reduce์ ๋ํ ์ ์๋ฅผ ๋ฐ์ทํด์ค๊ธด ํ์ง๋ง.. ์๋ฌด๋๋ ๋๋ ์์ด๋ ์ด๋ ต๋๋ผ. ๐ ๐ ๋์ค์๋ผ๋ ์ฝ๊ฒ ์ฐพ์๋ณด๋ ค๊ณ ํ๊ธ๋ก ์ ๋ฆฌํด๋์ผ์ง ใ ใ ์์ธ๋ด์ฉ : map | Apple Document 1. map ๊ทธ๋ ๋ค๊ณ ํ๋ค.. ์ฝ๊ฒ ๋งํ๋ฉด ํด๋ก์ (์กฐ๊ฑด)๋ก ๋ฐฐ์ด์ ๊ฐ ํญ๋ชฉ๋ค์ ๋ฐ์ํ ๊ฒฐ๊ณผ๋ฌผ์ ๊ฐ์ง ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํ๋ค. ์์) 2. filter ํด๋ก์ (์กฐ๊ฑด)๋ก ๋ฐฐ์ด์ ๊ฐ ํญ๋ชฉ๋ค์ ๋น๊ตํ์ฌ ์ผ์นํ๋ ๊ฒฐ๊ณผ๋ฌผ์ ๊ฐ์ง ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํ๋ค. ์์) 3. reduce ํด๋ก์ (์กฐ๊ฑด)๋ก ๋ฐฐ์ด์ ๊ฐ ํญ๋ชฉ๋ค์ ์ฌ๊ท์ ์ผ๋ก ์ ์ฉ์์ผ ํ๋์ ๊ฒฐ๊ณผ ๊ฐ์ ๋ฐํํ๋ค. ์ฒซ๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ ์ด๊ธฐ๊ฐ, ๋๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ ํด๋ก์ ์์)
์ฐ์ ์ ํ์ฌํญ์ ๋ณด๋ฉด ์ ์ฒด 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..