자기계발
프로그래머스
PCCE 5번 · 산책

프로그래머스 · PCCE 기출문제 5번 산책

문제

2차원 좌표평면에서 "N", "S", "E", "W"로 이루어진 이동 경로 route(길이 1 이상 20 이하)가 주어진다. 각 문자는 북, 남, 동, 서로 1만큼 움직이는 것을 뜻한다. 출발점 기준으로 [동쪽으로 떨어진 거리, 북쪽으로 떨어진 거리]를 반환하도록 빈칸을 채운다. 서쪽이나 남쪽에 있으면 음수로 표현한다.

풀이

동쪽 거리 east와 북쪽 거리 north를 0으로 두고 경로를 한 글자씩 읽는다. "N"이면 north를 1 올리고 "S"이면 1 내린다. "E"이면 east를 1 올리고 "W"이면 1 내린다.

def solution(route):
    east = 0
    north = 0
    for i in route:
        if i == "N":
            north += 1
        elif i == "S" :
            north -= 1
        elif i == "E" :
            east += 1
        elif i == "W" :
            east -= 1
    return [east, north]

짚고 갈 점

변수에 1을 더하거나 뺄 때 north = north - 1처럼 쓸 수도 있지만, 파이썬은 같은 변수를 두 번 쓰지 않아도 되도록 north -= 1 형태의 복합 대입 연산자를 지원한다.

출처