๐Algorithm/๐ฅBaekjoon
[Baekjoon] 1972_๋๋ผ์ด ๋ฌธ์์ด
๋ฟ์ผ._.
2023. 10. 12. 11:59
๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/1972)
< ๋๋ผ์ด ๋ฌธ์์ด >
๋ฌธ์ ํ์ด
0-์, 1-์... N-2์๊น์ง ๊ฐ๊ฐ ๊ตฌํ ํ ์ ์ผํ์ง ์ ์ผํ์ง ์์์ง ํ๋จํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.HashSet;
import java.util.Set;
public class _1972_ { // ๋๋ผ์ด ๋ฌธ์์ด
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String str = "";
Set<String> set = new HashSet<>();
boolean flag = false;
while (!(str = bf.readLine()).equals("*")) {
flag = false;
for (int i = 1; i < str.length(); i++) {
for (int j = 0; j < str.length(); j++) {
if (j + i < str.length()) {
String s = str.charAt(j) + "" + str.charAt(j + i);
if (set.contains(s)) {
flag = true;
break;
} else {
set.add(s);
}
}
}
set.clear();
if (flag)
break;
}
if (flag)
bw.write(str + " is NOT surprising.\n");
else
bw.write(str + " is surprising.\n");
}
bw.flush();
}
}
Main
๋ณ์)
str : ๋ฌธ์์ด
set : D-์ ์ ์ฅ
flag : ์ ์ผ ์ฌ๋ถ
- ๋ฌธ์์ด(str) ์ ๋ ฅ (*์๋ ๋๊น์ง ์ ๋ ฅ ๊ณ์ ๋ฐ๊ธฐ)
- D-์์ ๊ตฌํ ํ set์ ์๋ ๋ฌธ์์ด์ธ์ง ์๋์ง ํ๋จ
: set์ ์๋ ๋ฌธ์์ด์ด๋ผ๋ฉด ์ข ๋ฃ
: set์ ์์ง ์์ ๋ฌธ์์ด์ด๋ผ๋ฉด ์ถ๊ฐ ํ ๊ณ์
- flag ์ฌ๋ถ์ ๋ฐ๋ผ ์ ๋ต ์ถ๋ ฅ