문제 설명
여름이는 강아지를 산책시키려고 합니다. 여름이는 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"로만 이루어져 있습니다.
입출력 예
route | result |
---|---|
"NSSNEWWN" | [-1, 1] |
"EESEEWNWSNWWNS" | [0, 0] |
입출력 예 설명
입출력 예 #1
- "NSSNEWWN" 순서대로 움직이면 서쪽으로 1, 북쪽으로 1만큼 떨어진 곳에 도착하게 되므로 [-1, 1]을 return합니다.
입출력 예 #2
- "EESEEWNWSNWWNS" 순서대로 움직이면 출발지와 같은 곳으로 돌아오므로 [0, 0]을 return합니다.
- cpp를 응시하는 경우 리스트는 배열과 동일한 의미이니 풀이에 참고해주세요.
- ex) 번호가 담긴 정수 리스트
numbers
가 주어집니다. => 번호가 담긴 정수 배열numbers
가 주어집니다.
- ex) 번호가 담긴 정수 리스트
- java를 응시하는 경우 리스트는 배열, 함수는 메소드와 동일한 의미이니 풀이에 참고해주세요.
- ex) solution 함수가 올바르게 작동하도록 한 줄을 수정해 주세요. => solution 메소드가 올바르게 작동하도록 한 줄을 수정해 주세요.
빈칸 채우기 문제 안내
- 빈칸 채우기는 이미 완성된 코드 중 빈칸에 알맞은 코드를 입력하는 문제 타입입니다.
- 빈칸을 제외한 기본 코드는 수정할 수 없습니다.
- 빈칸을 채우지 않을 경우, 실행 결과에 에러 메시지가 표시됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <string>
#include <vector>
using namespace std;
vector<int> solution(string route) {
int east = 0;
int north = 0;
vector<int> answer(2);
for(int i=0; i<route.length(); i++){
switch(route[i]){
case 'N':
north++;
break;
case 'S':
;
break;
case 'E':
;
break;
case 'W':
;
;
}
}
answer[0] = east;
answer[1] = north;
return answer;
}
실행 결과
실행 중지
실행 결과가 여기에 표시됩니다.