• 문제 링크
18269번: Where Am I?
The first line of input contains $N$, and the second line contains a string of $N$ characters, each in the range A..Z.
www.acmicpc.net
• 풀이 코드
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 {
static int n, len;
static String s;
static Set<String> set = new HashSet<>();
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
n = Integer.parseInt(br.readLine());
s = br.readLine();
while (len++ <= n && !isDistinct()) set.clear();
bw.write(String.valueOf(len));
bw.flush();
}
private static boolean isDistinct() {
String sub;
for (int i = 0; i <= n - len; i++, set.add(sub)) if (set.contains(sub = s.substring(i, i + len))) return false;
return true;
}
}
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 18323 Photoshoot - Brute Force / Java (0) | 2023.11.29 |
---|---|
[백준] 27162 Yacht Dice - Brute Force / Java (0) | 2023.11.28 |
[백준] 3711 학번 - Brute Force / Java (0) | 2023.11.26 |
[백준] 5534 간판 - Brute Force / Java (0) | 2023.11.25 |
[백준] 12755 수면 장애 - Brute Force / Java (0) | 2023.11.24 |
댓글