풀이
어려워 보이고 하다가 잘 안되어서 풀이 봤는데 너무 쉽게 풀어서 황당함.
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));
}
}
'알고리즘 > 인프런_자바코테강의' 카테고리의 다른 글
인프런 2. 보이는 학생 (Java) (0) | 2022.04.20 |
---|---|
인프런 13. 큰 수 출력하기 (Java) (0) | 2022.03.30 |
인프런 11. 문자열 압축(JAVA) (0) | 2022.03.27 |
인프런 10. 가장 짧은 문자 거리 (Java) (0) | 2022.03.26 |
인프런 9. 숫자만 추출 (Java) (0) | 2022.03.25 |