Tags
- LV2
- DP
- ์ ์๋ก
- dfs
- stack
- ์ํ
- ์๋ฎฌ๋ ์ด์
- ๊ต์ฌ
- Java
- sort
- ์ ๋ ฌ
- Brute Force Algorithm
- ๊น์ด ์ฐ์ ํ์
- Dynamic Programming
- ๊ตฌํ
- BFS
- Python
- SpringBoot
- ๊ทธ๋ํ ํ์
- ๊ทธ๋ํ ์ด๋ก
- PGM
- ์๋ฃ๊ตฌ์กฐ
- Study
- queue
- ๋ฐฑํธ๋ํน
- ๋๋น ์ฐ์ ํ์
- greedy
- CodingTest
- ๋ฌธ์์ด
- BOJ
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_1235 : ํ์ ๋ฒํธ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ํ์๋ฒํธ๋ฅผ ์ค๋ณต๋์ง ์๋๋ก ๊ฐ์ฅ ์งง๊ฒ ๋ง๋ค ์ ์๋ ๊ธธ์ด๋ฅผ ์ถ๋ ฅํ๋ค.
- ๋ฒํธ๋ฅผ ์ค์ผ๋๋ ์ผ์ชฝ์ ๋ถํฐ ๋ฒ๋ฆฐ๋ค.
๐ธ ๋ฌธ์ ํ์ด ๐ธ
- ํ์ ๋ฒํธ ๋ฌธ์์ด์ ๋ ๋ถ๋ถ์์ ํ๋์ฉ ๊ธธ์ด๋ฅผ ๋๋ ค๊ฐ๋ฉฐ ์ค๋ณต๋๋ ๋ฌธ์์ด์ด ์๋์ง ํ์ธํด์ผํ๋ค.
- ๋ ๋ถ๋ถ์ ์์ผ๋ฉด ์ ๊ทผ์ด ์ด๋ ค์ธ ๊ฒ ๊ฐ์ ๋ฌธ์์ด์ ๋ค์ง์ด์ ์ ์ฅ ํ ์ค๋ณต์ ํ์ธํ๋ค.
- ์ค๋ณตํ์ธ์ ์ํด ๋ฌธ์์ด์ 1๋ถํฐ N-1๊น์ง ์๋ผ๊ฐ๋ฉฐ Set์ ๋ฃ๊ณ ํ์ธํ๋ค.
๐ธ ์ฝ๋ ๐ธ
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 Main {
public static void main(String[] args) throws IOException {
// Input
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());
String[] students = new String[N];
for (int i = 0; i < N; i++) {
StringBuilder sb = new StringBuilder(br.readLine());
students[i] = sb.reverse().toString();
}
// Process
int i = 0;
int length = students[0].length() - 1;
for (i = 0; i < length; i++) {
boolean flag = true;
Set<String> set = new HashSet<>();
for (int j = 0; j < N; j++) {
String s = students[j].substring(0, i + 1);
if (set.contains(s)) {
flag = false;
break;
}
set.add(s);
}
if (flag)
break;
}
// Output
bw.write(Integer.toString(i + 1));
bw.flush();
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- StringBuilder์ reverse()๋ฅผ ์ด์ฉํด ๋ฌธ์์ด์ ๋ค์ง์ด ์ ์ฅํ๋ค.
- ๋ฌธ์์ด์ 1๋ถํฐ N-1 ํฌ๊ธฐ๊น์ง ์๋ผ์ Set์ ๋ฃ์ด๋ณด๊ณ ์ค๋ณต์ ํ์ธํ๋ค.
- ๋ฌธ์ ์์ N๊ธธ์ด๋ ์ด๋ฏธ ์ค๋ณต๋์ง ์๋๋ค๋ ๊ฐ์ ์ด ์๊ธฐ ๋๋ฌธ์ N-1๊น์ง๋ง ํ์ธํ๋ค.
- ์ค๋ณต๋๋ฉด ๋ค์ ๊ธธ์ด๋ก ๋ค์ ํ์ธํ๋ค.
- ์ ๋ถ ์ค๋ณต๋์ง ์์ผ๋ฉด ํ์ฌ ๊ธธ์ด๋ฅผ ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- ๋ฌธ์์ด๋ค์ ์ ๋ ฌํด์ ๊ฐ์ ์ธ๋ฑ์ค๋ง ํ์ธํ๋ฉด ๋์ง ์์๊น ์๊ฐํ์ง๋ง, ์ฒซ ๋ฒ์งธ ์ธ๋ฑ์ค๋ง ํด๋น๋๊ณ ๊ทธ ๋ค์๋ถํฐ๋ ์๋ฏธ๊ฐ ์๋ ๊ณ์ฐ์ด์๋ค.
- ๊ฒฐ๊ตญ substring๊ณผ Set์ ํตํด ์๋ผ๊ฐ๋ฉฐ ์ค๋ณตํ์ธ์ผ๋ก ํ์ดํ ์ ์์๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Lv.2 : ๋ด์ค ํด๋ฌ์คํฐ๋ง (0) | 2023.11.07 |
---|---|
Lv.2 : ํ๋ก์ธ์ค (0) | 2023.11.03 |
Lv.2 : ๊ธฐ๋ฅ๊ฐ๋ฐ (0) | 2023.11.02 |
BOJ_1418 : K-์ธ์ค์ (0) | 2023.11.01 |
Lv.2 : [1์ฐจ] ์บ์ (0) | 2023.11.01 |