ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [BOJ] 심심한 준규
    Algorithm/BOJ 2020. 7. 2. 18:58

    [2892] 심심한 준규

    https://www.acmicpc.net/problem/2892

     

    • 문제 설명의 표에있는 excrypted message가 입력이 되고,
    • 암호화된 메시지의 글자가 문자인지 아닌지 출력하는 문제

     

    Solution

    • 애초에 xor 연산하는 방법도 몰라서 답을 봤다.
    • excrypted message에서 문자와 문자가 아닌 글자의 숫자 범위를 보고 유추하는 방법이였다.
    • '0'~'9'까지 숫자키와 'a'~'z'까지의 소문자를 xor 연산했을 때 나오는 결과 범위는 64~95 까지 이고,
    • '0'~'9'까지 숫자키와 ' ', '.'을 xor 연산했을 때 나오는 숫자범위는 16~31 까지이다.
    • excrypted message를 16진수 정수로 변환했을 때 어떤 범위에 속하는지에 따라 '-' 혹은 '.'으로 메시지를 재구성한다.

     

    소스코드

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
     
    class Main {
        public static void main(String[] args) throws IOException {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
     
            int n = stoi(br.readLine());
            String[] arr = br.readLine().split(" ");
     
            StringBuilder sb = new StringBuilder();
            for (String s : arr) {
                if (Integer.parseInt(s, 16>= 64 && Integer.parseInt(s, 16<= 95) {
                    sb.append("-");
                } else {
                    sb.append(".");
                }
            }
            bw.write(sb.toString());
            bw.close();
        }
     
        static int stoi(String s) {
            return Integer.parseInt(s);
        }
    }
    cs

    'Algorithm > BOJ' 카테고리의 다른 글

    [BOJ] 파티  (0) 2020.08.26
    [BOJ] 최단경로  (0) 2020.08.25
    [BOJ] 나는야 포켓몬 마스터 이다솜  (0) 2020.05.27
    [BOJ] 회사에 있는 사람  (0) 2020.05.27
    [BOJ] 패션왕 신해빈  (0) 2020.05.27

    댓글

Designed by Tistory.