- 0
- 이니스프리
- 조회 수 217
방향(ULRD)이 담긴 문자열을 받아서 2D 좌표계의 원점에서 시작하여 최종 위치를 반환하는 함수를 작성하는 문제입니다.
사이트에 올라온 모범답안은 다음과 같습니다.
def solution(commands): current_position = [0, 0] for d in commands: if d == "L": current_position[0] -= 1 elif d == "R": current_position[0] += 1 elif d == "U": current_position[1] += 1 elif d == "D": current_position[1] -= 1 return current_position
위 풀이도 정석적인 해법이지만, 딕셔너리를 사용하면 보다 깔끔하게 풀 수 있다고 생각합니다 ^^
def solution(commands): k = {'U': (0, 1), 'D': (0, -1), 'R': (1, 0), 'L': (-1, 0)} p = [0, 0] for s in commands: p[0] += k[s][0] p[1] += k[s][1] return p
작성자
댓글 0
권한이 없습니다.