Notice
Recent Posts
문제 풀이 및 개발 공간
[백준] 4422번 Crypt Kicker 2 (gold 4 본문
import java.io.*;
import java.util.*;
public 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));
boolean find=false;
ArrayList<String> arr=new ArrayList<>();
HashMap<Integer,String> dict=new HashMap<>();
String[] q={"the", "quick", "brown" ,"fox", "jumps", "over" ,"the", "lazy", "dog"};
int l=43;
String input;
while((input=br.readLine())!=null && input.length()!=0){
if(find==false){
String[] temp=input.split(" ");
if (input.length() != l || q.length!=temp.length) {
arr.add(input);
}
else {
arr.add(input);
boolean escape=true;
int j=0;
for(j=0; j<q.length; j++){
if (q[j].length() != temp[j].length()) {
break;
}
for(int k=0; k<q[j].length(); k++){
int in=temp[j].charAt(k)-'a';
if(dict.get(in)==null) {
dict.put(in, String.valueOf(q[j].charAt(k)));
}
else if(dict.get(in).charAt(0)==q[j].charAt(k)){
continue;
}
else{
escape=false;
break;
}
}
if(!escape){
dict.clear();
break;
}
}
if(j==q.length){
find=true;
}
}
}
else{
arr.add(input);
}
}
if(dict.isEmpty()){
bw.write("No solution.");
}
else {
for (String s : arr) {
String temp=s;
for(int j=0; j<temp.length(); j++){
int index=temp.charAt(j)-'a';
if(index>=0 && index<26){
bw.write(dict.get(index));
}
else{
bw.write(" ");
}
}
bw.write("\n");
}
}
bw.flush();
}
}
'백준공부 > java' 카테고리의 다른 글
[백준] 6603번 로또 (silver 2 (0) | 2023.09.22 |
---|---|
[백준] 6983번 Where's Waldorf? (silver 2 (0) | 2023.09.22 |
[백준] 2206번 벽 부수고 이동하기 (gold 3 (0) | 2023.09.21 |
[백준] 6328번 Erdos Numbers (gold 3 (0) | 2023.09.19 |
[백준] 4428번 Contest Scoreboard (silver 3 (0) | 2023.09.17 |