상세 컨텐츠

본문 제목

[Kotlin] 크레인 인형 뽑기 - 프로그래머스

알고리즘 공부

by 독서와 여행 2021. 4. 14. 18:38

본문

class Solution {
fun solution(board: Array<IntArray>, moves: IntArray): Int {
    var answer = mutableListOf<Int>()
    var sol : MutableList<Int> = mutableListOf<Int>()
    for (move in moves){
        for (i in 0..board.size - 1){ // 1..10 이면 1~10까지다 9까지가 아님..! 주의!
            if(board[i][move - 1] != 0){
                sol.add(board[i][move - 1])
                board[i][move - 1] = 0
                if(sol.size >= 2){
                    if(sol[sol.size-2] == sol[sol.size -1]){
                        answer.add(sol[sol.size-1])
                        sol.removeAt(sol.size-1)
                        sol.removeAt(sol.size-1)
                    }
                }
                break
                
            }
        }
    
    }
    return (answer.size) * 2
}

}

이렇게 풀었다. 아직 코틀린에 익숙하지 않아서 음 불편하다.

아래는 vscode에서 테스트 해보려고 선언한건데... 흠 

board에 Array<IntArray>가 들어가야하는데 이걸 선언하는데 좀 헤맸다.

막 이렇게 하다가 안되어가지고 지식인에 물어봤다. 파이썬에 비해 좀 불편하다. ㅠ 열심히 공부해야지

  var li :  Array<IntArray>  = intArrayOf(arrayOf(0,0,0,0,0),arrayOf(0,0,1,0,3),arrayOf(0,2,5,0,1),arrayOf(4,2,4,4,2),arrayOf(3,5,1,3,1))

 

fun main() {
    var li = arrayOf(
        intArrayOf(0, 0, 0, 0, 0),
        intArrayOf(0, 0, 1, 0, 3),
        intArrayOf(0, 2, 5, 0, 1),
        intArrayOf(4, 2, 4, 4, 2),
        intArrayOf(3, 5, 1, 3, 1)
    )
    var li2 : IntArray  = intArrayOf(1,5,3,5,1,2,1,4)
    var sol = solution(li, li2)
    println(li[0][0])
    li[0][0] = 10
    println(li[0][0])
    println(sol)
    // // var li = intArrayOf(1,3,5,7)
    // println(li.get(0))

}

 

관련글 더보기

댓글 영역