728x90
[Java] 암호 깨기 II (Crypt kicker II) - UVa 850문제
onlinejudge.org/index.php?option=onlinejudge&page=show_problem&problem=791
문제 설명
내 코드
🔑 Key Point 🔑
//해당 암호 해쉬에 저장
for(String str: cryptlist){
if(str.length()==standard.length()){
TreeMap<Character,Character> rule_copy = new TreeMap<Character,Character>();
for(int j=0 ; j<str.length();j++){
rule_copy.put(str.charAt(j), standard.charAt(j));
}
String result="";
for(int j=0; j<str.length(); j++)
result+=rule_copy.get(str.charAt(j));
if(result.equals(standard)) {
rule.putAll(rule_copy);
break;
}
}
}
검사 str이 plain text랑 길이가 같으면 임시 TreeMap에 암호 대응을하여 다시 그 암호를 넣었을때 평서문이 나오면 기준 Map 완성 . 암호 Key value를 대응한 Map을 통하여 모든 input string 번역하여 출력!
굳이 좀더 빠르게 하려고 자꾸 if문을 남발할 필요가 없다 그러다가 알고리즘 짜는데 시간이 너무 오래걸림...
728x90
반응형
'💡 CodingTest > UVa' 카테고리의 다른 글
[Java] UVa 848번 문제 - fmt (0) | 2020.10.05 |
---|---|
[Java] UVa 10150 더블릿(Doublets) 문제 - BFS 최단경로 알고리즘 (0) | 2020.10.05 |
[Java] 월도르프를 찾아라 Where's waldorf? - UVa 10010번 문제 (0) | 2020.09.26 |
[Java] WERTYU 문제 - UVa 10082번 Programming Challenges 문제 17번 (0) | 2020.09.26 |
[Java] 공통된 변경 문자열(Common Permutation) (0) | 2020.09.22 |