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
반응형
'IT 공부 > 알고리즘' 카테고리의 다른 글
[JAVA] 문자열 압축하기 (0) | 2024.01.15 |
---|---|
[JAVA] 가장 짧은 문자거리 구하기 (2) | 2024.01.15 |
[JAVA] 숫자만 추출하기 (6) | 2024.01.12 |
[JAVA] 팰린드롬 - 나열된 문자열들 중 알파벳만 가지고 회문 검사하기(앞에서 읽어도 뒤에서 읽어도 같은 문자열2, replaceAll) (0) | 2024.01.11 |
[JAVA] 회문 문자열 찾기 - 앞에서 읽어도 뒤에서 읽어도 같은 문자열 (2) | 2024.01.11 |
댓글