본문 바로가기
강좌/PCCE 기출문제(파이썬)

[PCCE 기출문제][파이썬] 5. 산책

by Moons0827 2024. 8. 24.
반응형

문제는 아래에서 풀어볼 수 있습니다.

코딩테스트 연습 - [PCCE 기출문제] 5번 / 산책 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


문제

여름이는 강아지를 산책시키려고 합니다. 여름이는 2차원 좌표평면에서 동/서/남/북 방향으로 1m 단위로 이동하면서 강아지를 산책시킵니다. 산책루트가 담긴 문자열 route가 주어질 때, 도착점의 위치를 return하도록 빈칸을 채워 solution함수를 완성해 주세요.

route는 "N", "S", "E", "W"로 이루어져 있습니다.

"N"은 북쪽으로 1만큼 움직입니다.

"S"는 남쪽으로 1만큼 움직입니다.

   북쪽으로 -1만큼 움직인 것과 같습니다.

"E"는 동쪽으로 1만큼 움직입니다.

"W"는 서쪽으로 1만큼 움직입니다.

     동쪽으로 -1만큼 움직인 것과 같습니다.

출발점으로부터 [동쪽으로 떨어진 거리, 북쪽으로 떨어진 거리]형태로 강아지의 최종 위치를 구해서 return해야 합니다.

출발점을 기준으로 서쪽, 남쪽에 있는 경우는 동쪽, 북쪽으로 음수만큼 떨어진 것으로 표현합니다.

    출발점으로부터 동쪽으로 2, 북쪽으로 3만큼 떨어졌다면 [2, 3]을 return 합니다.

    출발점으로부터 서쪽으로 1, 남쪽으로 4만큼 떨어졌다면 [-1, -4]를 return 합니다.


제한사항

1 ≤ route의 길이 ≤ 20
route는 "N", "S", "E", "W"로만 이루어져 있습니다.


입출력 예

입출력 예 #1

"NSSNEWWN" 순서대로 움직이면 서쪽으로 1, 북쪽으로 1만큼 떨어진 곳에 도착하게 되므로 [-1, 1]을 return합니다.

입출력 예 #2

"EESEEWNWSNWWNS" 순서대로 움직이면 출발지와 같은 곳으로 돌아오므로 [0, 0]을 return합니다.


주어진 코드

def solution(route):
    east = 0
    north = 0
    for i in route:
        if i == "N":
            north += 1
        elif i == "S" :
         	
        elif i == "E" :          

        elif i ==     :
            
    return [east, north]

정 답

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. 1줄: 함수를 정의입니다. solution이라는 함수가 하나의 매개변수 route를 받습니다.

2. 2~3줄: 변수 east와 north를 초기화 합니다.

3. 4줄: route 문자열의 각 문자를 하나씩 차례대로 i에 할당하며 반복합니다.

4. 5~6줄: 문자가 N이면 north 값을 1 증가시킵니다.

5. 7~8줄: 문자가 S이면 north 값을 -1 증가시킵니다.

6. 9~10줄: 문자가 E이면 east 값을 1 증가시킵니다.

7. 11~12줄: 문자가 S이면 east 값을 -1 증가시킵니다.

8. 13줄: 루프가 끝난 뒤, east와 north를 리스트 형태로 반환합니다.

반응형

댓글