import java.util.*;

class Solution {
    public int solution(String dirs) {
        int x = 0; int y = 0;
        Set<String> set = new HashSet<>();
        
        for(int i=0; i<dirs.length(); i++) {
            char c = dirs.charAt(i);
            String start = String.valueOf(x)+String.valueOf(y);
            String end = "";
            
            if(c=='U' && y!=5) {
                y++;
                end = String.valueOf(x)+String.valueOf(y);
                set.add(start+end); set.add(end+start);
            } else if(c=='D' && y!=-5) {
                y--;
                end = String.valueOf(x)+String.valueOf(y);
                set.add(start+end); set.add(end+start);
            } else if(c=='L' && x!=-5) {
                x--;
                end = String.valueOf(x)+String.valueOf(y);
                set.add(start+end); set.add(end+start);
            } else if(c=='R' && x!=5) {
                x++;
                end = String.valueOf(x)+String.valueOf(y);
                set.add(start+end); set.add(end+start);
            }
        }
        
        return set.size()/2;
    }
}

'Problem Solving > Programmers' 카테고리의 다른 글

[Level 2] [3차] 파일명 정렬  (0) 2022.04.07
[Level 2] 가장 큰 정사각형 찾기  (0) 2022.04.07
[Level 2] 스킬트리  (0) 2022.04.07
[Level 2] n^2 배열 자르기  (0) 2022.04.07
[Level 2] 점프와 순간 이동  (0) 2022.04.07