λ¬Έμ
μμ
νμ΄
- μ νμ μΈ μ€νμ μ΄μ©νμ¬ ν μ μλ λ¬Έμ μ
λλ€.
- μ€ν 리μ€νΈλ₯Ό νλ μμ±ν ν λ½λ μμμ λ§κ² μ€νμμ νλ μ κ±°μν΅λλ€.
- μ κ±°λ μ«μλ₯Ό λ€λ₯Έ μ€νμ μ μ₯ν΄λκ³ λ§μ½ μ κ±°λ μ«μμ μ€νμ μ΅μλ¨ μ«μκ° κ°μ κ²½μ° μ κ±°νκ³ answerμ 2λ₯Ό λν©λλ€.
import kotlin.math.*
import java.util.*
class Solution {
fun solution(board: Array<IntArray>, moves: IntArray): Int {
var answer = 0
val stackList = List(board.size){ Stack<Int>() }
board.reverse()
for(i in 0 until board.size){
for(j in 0 until board.size){
if(board[i][j] != 0){
stackList.get(j).add(board[i][j])
}
}
}
val s = Stack<Int>()
moves.forEach{
if(stackList.get(it - 1).isNotEmpty()){
if(s.isEmpty()){
s.add(stackList.get(it-1).pop())
}else{
if(s.peek() == stackList.get(it-1).peek()){
answer+=2
stackList.get(it-1).pop()
s.pop()
}else{
s.add(stackList.get(it-1).pop())
}
}
}
}
return answer
}
}
μ°Έκ³
- ν¨μν νλ‘κ·Έλλ° μΈμ΄μΈ kotlinμ νΉμ±μ λ§κ² ν¨μλ₯Ό λ§μ΄ μ΅νμ π½
- μ°Έκ³ λ‘ kotlinμμλ Stack μλ£κ΅¬μ‘°λ μμ΄μ java util λΌμ΄λΈλ¬λ¦¬μμ κ°μ Έμμ μ¬μ©νκ±°λ 리μ€νΈλ₯Ό μ€νκ³Ό μ μ¬νκ² λ§λ€μ΄μ μ¬μ©νλ©΄ λ©λλ€.
- https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/