Programmers 49994 방문 길이

로고 이미지

문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/49994

나의 풀이

구현

풀이 코드 : 49994 방문 길이

#include <string>
#include <iostream>
using namespace std;

struct Node{
    int dir[4] = {0,};
};

int solution(string dirs) {
    int answer = 0;
    Node node[11][11];
    int x = 5, y = 5;
    for(int i=0;i<dirs.size();i++){
        if(dirs[i] == 'U'){
            if(y<10){
                if(node[y][x].dir[0] == 0){
                    node[y][x].dir[0] = 1;
                    node[y+1][x].dir[1] = 1;
                    answer++;
                }
                y++;
            }
        }
        else if(dirs[i] == 'D'){
            if(y > 0){
                if(node[y][x].dir[1] == 0){
                    node[y][x].dir[1] = 1;
                    node[y-1][x].dir[0] = 1;
                    answer++;
                }
                y--;
            }
        }
        else if(dirs[i] == 'R'){
            if(x < 10){
                if(node[y][x].dir[3] == 0){
                    node[y][x].dir[3] = 1;
                    node[y][x+1].dir[2] = 1;
                    answer++;
                }
                x++;
            }
        }
        else if(dirs[i] == 'L'){
            if(x > 0){
                if(node[y][x].dir[2] == 0){
                    node[y][x].dir[2] = 1;
                    node[y][x-1].dir[3] = 1;
                    answer++;
                }
                x--;
            }
        }
    }
    return answer;
}

채점결과

42586


© 2020. All rights reserved.

Powered by Hydejack v8.4.0