What I Learned/Algorithm Practice
[programmers - python] Lv.0: 캐릭터의 좌표
Interrobang
2022. 12. 14. 10:38
문제 링크
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 풀이
def solution(keyinput, board):
direction = {'left':(-1,0),
'right':(1,0),
'up':(0,1),
'down':(0,-1)
}
answer = [0, 0]
for key in keyinput:
dx, dy = direction[key]
if abs(answer[0] + dx) > board[0]//2 or abs(answer[1] + dy) > board[1]//2:
continue
else:
answer[0] += dx
answer[1] += dy
return answer
solution(["left", "right", "up", "right", "right"], [11, 11])
*key point: 반복문, 조건문을 활용하여 기본적인 형태를 구현한다. direction을 정의해두어 증감량을 쉽게 처리한다. 음수와 양수 조건은 절대값 abs를 이용하여 한번에 처리한다.