개인공부/알고리즘

프로그래머스 - 캐릭터의 좌표 (Kotlin)

KEEMSY 2023. 7. 31. 22:36

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

내가 생각하는 이 문제의 핵심은, 이동한 좌표가 주어진 board범위를 벗어나지 않고 계산하도록 하는 것이다.

 

class Solution {
    fun solution(keyinput: Array<String>, board: IntArray): IntArray {
        val boardWidth = board[0]
        val boardHeight = board[1]
        
        var x = 0
        var y = 0
        
        keyinput.forEach { key ->
            when (key) {
                "up" -> y = minOf(y + 1, boardHeight / 2)
                "down" -> y = maxOf(y - 1, -boardHeight / 2)
                "left" -> x = maxOf(x - 1, -boardWidth / 2)
                "right" -> x = minOf(x + 1, boardWidth / 2)
            }
        }
        
        return intArrayOf(x, y)
    }
}
728x90