프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
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
'개인공부 > 알고리즘' 카테고리의 다른 글
프로그래머스 - 년, 월, 성별 별 상품 구매 회원 수 구하기 (0) | 2023.08.06 |
---|---|
프로그래머스 - 직사각형 넓이 구하기 (Kotlin) (0) | 2023.08.01 |
프로그래머스 - 동명 동물 수 찾기 (MySQL) (0) | 2023.07.30 |
프로그래머스 - 고양이와 개는 몇마리 있을까? (MySQL) (0) | 2023.07.29 |
프로그래머스 - 최댓값 만들기(2) (Kotlin) (0) | 2023.07.28 |