https://school.programmers.co.kr/learn/courses/30/lessons/120861
이 문제는 문제에서 주어진 조건들을 하나하나 살펴가면서 풀어야 실수가 나오지 않는 문제이다.
먼저 문제에서 시작은 항상 0,0에서 시작한다했으므로 answer = [0, 0]을 해주고 가로크기가 9일 때 왼쪽으로 최대 -4, 오른쪽으로 최대 4까지 밖에 못 간다고 예시가 나와있는데 이를 보면 주어진 가로, 세로 길이를 가진 board 배열의 원소들을 2로 나눈 몫이라는 것을 알 수 있다.
따라서 x = borad[0]//2, y = board[1]//2를 해주고 입력된 배열을 하나하나 봐야 하므로 for i in keyinput을 해준다.
여기서 if~elif문을 사용해 여러 조건을 봐야 하는데 위에서 설명했듯이 최대 길이를 넘어가면 안되고
left => 0번째 원소에 -1, right => 0번째 원소에 +1, up => 1번째 원소에 +1, down => 1번째 원소에 -1를 해야 한다고 문제에 나와 있는데 이를 적용해 조건을 작성하게 되면 아래 사진처럼 된다.
여기서 주의할 점은 -1을 해주는 left, down은 -x, -y.보다 작게 되면 범위가 초과하므로 -x, -y보다 항상 커야 한다.
'프로그래머스 > 프로그래머스 Lv0' 카테고리의 다른 글
Lv0 로그인 성공? (0) | 2024.07.22 |
---|---|
[PCCE 기출문제] 7번 / 가습기 (0) | 2024.07.21 |
Lv0 직사각형 넓이 구하기 (0) | 2024.07.19 |
Lv0 종이 자르기 (0) | 2024.07.19 |
[PCCE 기출문제] 3번 / 나이 계산 (0) | 2024.07.18 |