알고리즘/인프런_자바코테강의

인프런 12. 암호(JAVA)

고구마와 감자 2022. 3. 30. 13:45

 

풀이 

어려워 보이고 하다가 잘 안되어서 풀이 봤는데 너무 쉽게 풀어서 황당함.

substring으로 7개 끊고, replace로만 # -> 1로 * -> 0으로 바꾸고 

Integer.parseInt로 2진수 10진수로 변환하고 그 아스키 문자를 char로 형변환하여 answer에 붙여준다.

마지막으로 substring으로 끊어서 7개 이후의 문자로 다시 for문을 돈다.  

 

import java.util.Scanner;

public class Main {
    private String solution(int n, String s) {
        String answer = "";
        for (int i = 0; i < n; i++) {
            String tmp = s.substring(0, 7).replace('#', '1').replace('*', '0');
            int num = Integer.parseInt(tmp, 2);
            answer += (char) num;
            s = s.substring(7);
        }
        return answer;
    }

    public static void main(String[] args) {
        Main T = new Main();
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        String s = sc.next();
        System.out.println(T.solution(n, s));
    }
}