컴굥일지

[Programmers/프로그래머스][C++] 실습용 로봇 (PCCP 모의고사 2회 1번) 본문

알고리즘/코테 문제

[Programmers/프로그래머스][C++] 실습용 로봇 (PCCP 모의고사 2회 1번)

gyong 2023. 8. 19. 18:20
반응형

문제

https://school.programmers.co.kr/learn/courses/15009/lessons/121687

프로그래머스 실습용 로봇
프로그래머스 실습용 로봇

 

문제 내용

명령어 순서를 담은 문자열을 입력받아, 로봇이 해당 명령을 수행한 이후의 좌표를 구하면 된다.

 

문제 풀이

각각의 명령을 순차적으로 실행하여 이동을 하면 된다.

 

코드

#include <string>
#include <vector>

using namespace std;

int dy[4]={1,0,-1,0};
int dx[4]={0,1,0,-1};

vector<int> solution(string command) {
    int dir=0;
    int y=0;
    int x=0;
    
    for(int i=0;i<command.size();i++){
        if(command[i]=='R'){
            dir = (dir+1)%4;        
        }else if(command[i]=='L'){
            dir = (dir-1+4)%4;
        }else if(command[i]=='G'){
            y+=dy[dir];
            x+=dx[dir];
        }else{
            y-=dy[dir];
            x-=dx[dir];            
        }
    }
    
    vector<int> answer={x,y};
    return answer;
}
반응형
Comments