๋ฌธ์ ๋งํฌ
https://programmers.co.kr/learn/courses/30/lessons/64061
๋ฌธ์ ํ์ด
- board ์์ ๋ฝ๋ ์ธํ pickDoll
- pickDoll์ ๋ฃ๋ ๋ฐ๊ตฌ๋๋ baguni
- ์ด๋ํ๋ ค๋ ๊ฒฝ๋ก moves
- ๋ค์ผ ์์์๋ ๊ฒ๋ค์ ํ์ํ๊ธฐ ์ํด์๋ baguni[i][move-1]์ ํด์ผ ์ํ๋ ์์น์ ์ ๊ทผํ ์ ์๊ณ , ์ด๋ ์ด ๊ฐ์ด 0์ด๋ผ๋ฉด i๋ฅผ ๋ฐ๊ฟ์ฃผ๋ฉฐ ๋ฐ์์๋ ๊ฐ์ ํ์ํด์ผํ๋ค.
- baguni์ ๋ ๊ฐ์ด์ ๊ฒน์น๋ ์ธํ์ด ๋์ค๋ฉด, result ์๋ค๊ฐ ๊ทธ ๊ฐ์๋ฅผ + ํด์ฃผ์ด์ผ ํ๋ค.
๋ฌธ์ ํ๋ค๊ฐ ๋ฐ๊ฒฌํ ์ด์์ฌํญ
if baguni.count != 0 && pickDoll == baguni[baguni.count-1] { } // ์ ๋ต
if pickDoll == baguni[baguni.count-1] && baguni.count != 0 { } // ์๋ฌ
์ ๋๊ฐ์ ์ฝ๋๋ ๊ฐ์ ์กฐ๊ฑด์ ๊ฐ์ง if ๋ฌธ์ด๋ค. ํ์ง๋ง ๋ฐ์์๋ ์ฝ๋๋ ์๋ฌ๊ฐ ๋๋ค. if ๋ฌธ์์ ๋ ๊ฐ์ง ์ด์์ ์กฐ๊ฑด์ ๋ฃ์ ๋, ์์๊ฐ ์ค์ํ์ง ์์๋ ๊ฒ ๊ฐ์๋ฐ, ๊ทธ๋ฆฌ๊ณ ์ด์ฐจํผ And ์ฐ์ฐ์๋ผ ์์๊ฐ ์๊ด์์๊ฒ ๊ฐ์๋ฐ ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋๋ค.
signal: illegal instruction (core dumped)
ํด๋น ์๋ฌ๋ ๋ ผ๋ฆฌ์ ์ธ ์ค๋ฅ๊ฐ ์๊ฑฐ๋, index of range ์๋ฌ๊ฐ ๋ฌ๊ฑฐ๋, nil ๊ฐ์ด ์๊ฒจ์ ๊ทธ๋ ๋ค๊ณ ํ๋๋ฐ,, ๋ด ์ฝ๋์์๋ ์ ๋ง ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ฒ ๋ค. ๊ทธ๋๋ ์ด์จ๋ , ๊ฐ์ด ์คํฐ๋ํ๋ ์คํฐ๋์์ ์ฝ๋๋ฅผ ๋ณด๋ ๋์ If ๋ฌธ ์์๊ฐ ๋ค๋ฅด๊ธธ๋ ์ด๊ฒ๋ง ๋ฐ๊ฟจ๋๋ ์ ๋ต์ ๋ง์ถ ์ ์์๋ค.
์ ์ฒด ์ฝ๋
func solution(_ board:[[Int]], _ moves:[Int]) -> Int {
var result = 0
var baguni: [Int] = []
var tempBoard = board
for move in moves {
for i in 0..<board.count {
let pickDoll = tempBoard[i][move-1]
if pickDoll == 0 {
continue
} else {
if baguni.count != 0 && pickDoll == baguni[baguni.count-1] {
baguni.removeLast()
result += 2
tempBoard[i][move-1] = 0
} else {
baguni.append(pickDoll)
tempBoard[i][move-1] = 0
}
break
}
}
}
return result
}
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] (Swift) Kakao ์ฃผ์ฐจ ์๊ธ ๊ณ์ฐ (0) | 2022.05.10 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] (Swift) Kakao ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ (0) | 2022.04.29 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ด๋ถํ์ - ์ง๊ฒ๋ค๋ฆฌ (ํ์ด์ฌ) (2) | 2021.10.14 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฌ๋ฐ๋ฅธ ๊ดํธ (level.2) (0) | 2021.10.13 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ด๋ถํ์ - ์ ๊ตญ์ฌ์ฌ (level.3) (0) | 2021.10.07 |