본문 바로가기
IT 공부/알고리즘

[JAVA] 암호 풀기(replace, parseInt)

by 해모해모 2024. 1. 15.
728x90
반응형

[설명]
- 알파벳 대문자로 구성된 문자열
- 알파벳 한 문자마다 # 또는 *이 일곱 개로 구성
- #*****#를 7자리의 이진수로 변환(#은 이진수 1, *은 이진수의 0으로 변환) => 1000001
- 바뀐 이진수를 10진수로 변환 => 65
- 아스키 코드로 알파벳 변환 => A

[입력 예시]
4
#****###**#####**#####**##** (문자의 개수*7만큼 특수문자가 입력됨)

[출력 예시]
COOL
풀이
import java.util.*;

class Main {	
	public String solution(int n, String s){
    String answer="";
    for(int i=0; i<n; i++){
      String temp=s.substring(0,7).replace('#', '1').replace('*', '0');
      int num=Integer.parseInt(temp,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 str=sc.next();
    System.out.print(T.solution(n, str));
	}
}
728x90
반응형

댓글