ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Softeer] [21년 재직자 대회 예선] 전광판
    Algorithm/Softeer 2024. 2. 4. 13:00

     

     

    Softeer - 현대자동차그룹 SW인재확보플랫폼

     

    softeer.ai

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.StringTokenizer;
    
    public class 전광판 {
        public static void main(String[] args) throws IOException {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            StringTokenizer st;
    
            int T = Integer.parseInt(br.readLine());
            Map<Character,String> lights = new HashMap<>();
    
            lights.put('0', "1110111");
            lights.put('1', "0010010");
            lights.put('2', "1011101");
            lights.put('3', "1011011");
            lights.put('4', "0111010");
            lights.put('5', "1101011");
            lights.put('6', "1101111");
            lights.put('7', "1110010");
            lights.put('8', "1111111");
            lights.put('9', "1111011");
            lights.put(' ', "0000000");
    
            for(int tc = 1; tc <= T; tc++) {
                st = new StringTokenizer(br.readLine());
    
                int answer = 0;
    
                String A = st.nextToken();
                String B = st.nextToken();
    
                String A_blank = "";
                String B_blank = "";
    
                for(int i = 0; i < 5 - A.length(); i++) {
                    A_blank += " ";
                }
                for(int i = 0; i < 5 - B.length(); i++) {
                    B_blank += " ";
                }
                A = A_blank + A;
                B = B_blank + B;
    
                for(int i = 0; i < 5; i++) {
                    for(int j = 0; j < 7; j++) {
                        if(lights.get(A.charAt(i)).charAt(j) != lights.get(B.charAt(i)).charAt(j)) {
                            answer++;
                        }
                    }
                }
    
                System.out.println(answer);
            }
        }
    }
    • 전구의 스위치 작동 여부를 판단하기 위해 전구마다 번호를 부여해서 각 0, 1, 2, ... 9, 빈 전구까지의 값을 Map에 저장했다.
    • 각 전광판은 길이가 맞지 않을 수도 있어서 빈공백을 통해 그 차이를 매꾸었다.
    • 전구의 스위치는 총 7개가 있어서 한 전광판의 번호마다 비교하여 다를 때 스위치를 다시 눌러야하므로 answer를 1 증가시켰다.
Designed by Tistory.