[백준] 1972 놀라운 문자열 - Java
완전탐색으로 문자열을 탐색하는 문제이다.
해시셋을 이용해 중복 여부를 확인해서 중복일 시 not surprising을 출력하도록 작성했다.
import java.util.*;
import java.io.*;
public class Main {
static StringBuilder sb = new StringBuilder();
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while (true) {
String str = br.readLine();
if (str.equals("*")) {
break;
}
surprise(str);
}
System.out.println(sb);
}
static void surprise(String str) {
if(str.length() == 1){
sb.append(str + " is surprising.\n");
return;
}
boolean chk = false;
for(int i=1; i<=str.length() - 2; i++){
HashSet<String> hs = new HashSet<>();
for(int j=0; j<str.length() - i; j++){
String temp = String.valueOf(str.charAt(j)) + String.valueOf(str.charAt(j+i));
if(hs.contains(temp)){
chk = true;
break;
}else{
hs.add(temp);
}
}
if(chk){
break;
}
}
if(chk){
sb.append(str + " is NOT surprising.\n");
}else{
sb.append(str + " is surprising.\n");
}
}
}
반응형
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 9322 철벽 보안 알고리즘 - Java (0) | 2022.04.24 |
---|---|
[백준] 3077 임진왜란 - Java (0) | 2022.04.24 |
[백준] 12757 전설의 JBNU - Java (0) | 2022.04.23 |
[백준] 21944 문제 추천 시스템 Version 2 - Java (0) | 2022.04.23 |
[백준] 21939 문제 추천 시스템 Version 1 - Java (0) | 2022.04.23 |
댓글
이 글 공유하기
다른 글
-
[백준] 9322 철벽 보안 알고리즘 - Java
[백준] 9322 철벽 보안 알고리즘 - Java
2022.04.24 -
[백준] 3077 임진왜란 - Java
[백준] 3077 임진왜란 - Java
2022.04.24 -
[백준] 12757 전설의 JBNU - Java
[백준] 12757 전설의 JBNU - Java
2022.04.23 -
[백준] 21944 문제 추천 시스템 Version 2 - Java
[백준] 21944 문제 추천 시스템 Version 2 - Java
2022.04.23