🚩 코딩테스트/알고리즘
[프로그래머스] [PCCP 모의고사 #2] 실습용 로봇
딩딩크롱
2023. 2. 18. 18:24
728x90
문제
https://school.programmers.co.kr/learn/courses/15009/lessons/121687
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
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