Programmers/Level 3
[프로그래머스 3] 방문 길이 (C/C++)
워니-
2020. 3. 9. 22:43
#include <string> #include <iostream> using namespace std; int solution(string dirs) { int answer = 0; int visited[11][11][4] = {0}; // 상, 하, 좌, 우 int x = 5; int y = 5; for(int i = 0; i < dirs.size(); i++) { if(dirs[i] == 'U') { if(y+1 > 10) { continue; } if(visited[x][y][0] == 0 && visited[x][y+1][1] == 0) { visited[x][y][0] = 1; visited[x][y+1][1] = 1; answer++; } y++; } else if(dirs[i] == 'D') { if(y-1 < 0) { continue; } if(visited[x][y][1] == 0 && visited[x][y-1][0] == 0) { visited[x][y][1] = 1; visited[x][y-1][0] = 1; answer++; } y--; } else if(dirs[i] == 'L') { if(x-1 < 0) { continue; } if(visited[x][y][2] == 0 && visited[x-1][y][3] == 0) { visited[x][y][2] = 1; visited[x-1][y][3] = 1; answer++; } x--; } else if(dirs[i] == 'R') { if(x+1 > 10) { continue; } if(visited[x][y][3] == 0 && visited[x+1][y][2] == 0) { visited[x][y][3] = 1; visited[x+1][y][2] = 1; answer++; } x++; } } return answer; } | cs |