https://www.acmicpc.net/problem/1316
단어의 모든 문자가 떨어져있지 않고 붙어 있는 문자를 그룹 단어라 할 때, 주어진 단어 중 그룹 단어의 갯수를 출력하는 문제이다.
ex) aab -> 그룹 문자임 aaba -> a가 따로 떨어져 있으므로 그룹 단어가 아님
단어들에 대해서 각각 Set<Character> 을 이용하여 이미 단어에 있으면서 떨어져 있는 문자를 찾게 되면 이는 그룹 문자가 아니며, 이러한 방식으로 단어의 끝까지 확인하여 떨어져 있는 문자가 없다면 갯수를 증가시킨다.
결과 코드는 다음과 같다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
public class 그룹단어체커 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int count = 0;
outer:
for (int i = 0; i < n; i++) {
Set<Character> set = new HashSet<>();
String word = br.readLine();
set.add(word.charAt(0));
for (int j = 1; j < word.length(); j++) {
if (word.charAt(j) == word.charAt(j - 1)) {
continue;
}
if (!set.add(word.charAt(j))) {
continue outer;
}
}
count++;
}
br.close();
System.out.print(count);
}
}
'알고리즘(백준 등) 공부 > 백준(자바)' 카테고리의 다른 글
| 백준 1323번: 숫자 연결하기 (0) | 2026.03.17 |
|---|---|
| 백준 1322번: X와 K (0) | 2026.03.16 |
| 백준 1313번 합성소수 (0) | 2026.03.14 |
| 백준 1312번: 소수 (0) | 2026.03.13 |
| 백준 1311번: 할 일 정하기 1 (0) | 2026.03.12 |