728x90
문제
https://school.programmers.co.kr/learn/courses/15009/lessons/121687
풀이
dx
와 dy
에 이동 종류를 저장합니다.
dir
은 방향을 의미합니다.
명령어를 하나씩 확인하며 수행합니다.
'G' 혹은 'B'일 경우 방향대로 이동합니다.
'R'일 경우 dir
에 1을 더하고 4로 나눈 나머지를 구해 방향을 전환합니다.
'L'일 경우 dir
에 1을 빼고 4로 나눈 나머지를 구해 방향을 전환합니다.
코드
파이썬
def solution(command):
answer = [0, 0]
dx = [0, 1, 0, -1]
dy = [1, 0, -1, 0]
dir = 0
for c in command:
if c == 'G':
answer[0] += dx[dir]
answer[1] += dy[dir]
elif c == 'B':
answer[0] -= dx[dir]
answer[1] -= dy[dir]
elif c == 'R':
dir = (dir + 1) % 4
elif c == 'L':
dir = (dir - 1) % 4
return answer
728x90
'🚩 코딩테스트 > 알고리즘' 카테고리의 다른 글
[프로그래머스] [PCCP 모의고사 #2] 카페 확장 (0) | 2023.02.18 |
---|---|
[프로그래머스] [PCCP 모의고사 #2] 신입사원 교육 (0) | 2023.02.18 |
[프로그래머스] [PCCP 모의고사 #1] 체육대회 (0) | 2023.02.18 |
[프로그래머스] [PCCP 모의고사 #1] 외톨이 알파벳 (0) | 2023.02.18 |
[백준] 13023번: ABCDE (0) | 2023.02.16 |