์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- Cloud Firestore
- mongoose
- Decodable
- Mac
- DispatchQueue
- nodejs
- SWiFT
- RxSwift
- Core Data
- String.Index
- ์๊ณ ๋ฆฌ์ฆ
- Filter
- CRUD
- components
- MongoDB
- ํ๋ก๊ทธ๋๋จธ์ค
- Reduce
- ExpressJS
- UIRefreshController
- ์ฑ๋์์ธ
- Encodable
- ios
- ์ง๋ฒ๋ณํ
- map
- AVAudioPlayer
- Codable
- ์ฑ๋ง๋ค๊ธฐ
- Firestore
- Firestore CRUD
- Figma
- Today
- Total
Focus On Develop ๐ค๐ค
[ํ๋ก๊ทธ๋๋จธ์ค] ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ ๊ฒ์ ๋ณธ๋ฌธ
[ํ๋ก๊ทธ๋๋จธ์ค] ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ ๊ฒ์
๋๋ฆฌ๋ฌ์ดํ 2021. 2. 16. 12:03<๋ฌธ์ >
<์ ๋ต์ง๊ธฐ>
ใ ใ ๋ฌธ์ ๊ฐ ๋๊ธธ๋ค.๐ ๋ฌธ์ ์์ ์ํค๋๋๋ก ํฌ๋ ์ธ์ ์์น๋ฅผ ์ฐพ๊ณ , ํฌ๋ ์ธ์ ์ญ ๋ด๋ ธ์๋ ์ง์ ์ธํ์ด ์๋ค๋ฉด ๋ฐ๊ตฌ๋์ ์ฎ๊ฒจ์ ์ ์ผ ์์์๋ ์ธํ๊ณผ ๊ฐ์ ์ธํ์ด๋ฉด ๋๊ฐ๋ฅผ ํฐํธ๋ฆฌ๋ฉด ๋๋ค. ๊ทผ๋ฐ ๋ฌธ์ ๋.. ์ฃผ์ด์ง๋ board๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๊ฒ ๋๋ฉด ์ธํ์ ์ง์ด์ฌ๋๋, ํด๋น ๋ผ์ธ์ด ๋น์ด์๋์ง ์ฒดํฌํ๊ธฐ๊ฐ ์ข ์ ๋งคํด์ง๋ค. board[ํ][์ด]๋ก ๋ฐ๋ก ์ ๊ทผํ๊ธฐ๊ฐ ์ข.. ๐ญ ๊ทธ๋์ ๋๋ board๋ฅผ ์ข ๋ ์ฝ๊ฒ ๋ณด๊ธฐ์ํด ์กฐ๊ธ ํ์ ์์ผ์ ์๋ก์ด dolls๋ก ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค. ์๋์ฒ๋ผ ๋๋ฆฌ๋ฉด, ํด๋น๋ผ์ธ์ด ๋น์๋์ง์ ์ ์ผ ์์์๋ ์ธํ์ ๊ฐ์ ธ์ค๊ธฐ ์์ํ๊ธฐ ๋๋ฌธ์ด๋ค!
<์ฝ๋>
func solution(_ board:[[Int]], _ moves:[Int]) -> Int {
var dolls = Array(repeating: Array(repeating: 0, count: board[0].count), count: board.count)
var basket: [Int] = []
var result = 0
for (i, x) in board.enumerated() {
for (j, y) in x.enumerated() {
dolls[j][i] = y
}
}
for move in moves {
let realX = move-1
let notEmptyCount = dolls[realX].filter { $0 != 0 }.count
if notEmptyCount == 0 { continue }
let realY = dolls[realX].count - notEmptyCount
let curDoll = dolls[realX][realY]
dolls[realX][realY] = 0
if basket.count > 0 && curDoll == basket[basket.count-1] {
result += 2
basket.popLast()
} else {
basket.append(curDoll)
}
}
return result
}
<Lesson Learned>
์ค๋๋ง์ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ์๋ค ใ ใ ์ฌ๋ฐ๊ตฐ ๐ ๊พธ์คํ ํ์ด์ผ๊ฒ ๋๊ฑธ!? ์ด๋ฒ์ ๋ฐฐ์ด๊ฒ์ค ํ๋๋ ๋ฐฐ์ด์์ popLost()๋ฅผ ํ๋ฉด ๋ง์ง๋ง element๋ฅผ ์ ๊ฑฐ๊ฐ ๊ฐ๋ฅํ๋ค๋ ์ ์ด๋ค. ์๋๋ array.remove(at: array.count-1) ๋ฅผ ์ฌ์ฉํด์ ์ง์ ์๋๋ฐ.. ๊ตณ์ด ๊ทธ๋ดํ์๊ฐ ์์๋ค! ใ ใ ๋ค๋ฅธ ์ฌ๋๋ค์ board๋ฅผ ๋๋ฆฌ์ง ์๊ณ ํ๊ธด ํ๋๋ฐ.. ์๋ฌด๋๋ ๊ฐ์ธ์ ์ผ๋ก๋ ์ด๋ ๊ฒ ๋๋ ค์ ์ฝ๊ฒ ๊ตฌํํ๋๊ฒ ์ข์ ๊ฒ ๊ฐ๋ค ๐
์ถ์ : ํ๋ก๊ทธ๋๋จธ์ค ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ ๊ฒ์
'iOS [Swift] > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ํ๋ฆฐํฐ (0) | 2021.02.18 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์นดํซ (0) | 2021.01.05 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ฐ์ฅ ํฐ ์ (0) | 2020.12.29 |
[ํ๋ก๊ทธ๋๋จธ์ค] H-Index (0) | 2020.12.28 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ธฐ๋ฅ๊ฐ๋ฐ (0) | 2020.12.27 |