728x90
반응형
https://www.acmicpc.net/problem/1316
1316번: 그룹 단어 체커
그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때
www.acmicpc.net
import java.io.*;
import java.util.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int cnt = Integer.parseInt(bf.readLine());
int answer = 0;
for (int i = 0; i < cnt; ++i) {
String target = bf.readLine();
// a~z를 저장할 알파뱃 index 배열
boolean[] check = new boolean[26];
boolean grouped = true;
for (int j = 0; j < target.length(); ++j) {
// String을 charAt을 하면 아스키코드가 나온다.
// 참고로 a 는 97 이라서 시작 index인 0으로 만들기 위해 'a' 을 빼준다.
int index = target.charAt(j) - 'a';
// 배열에 없는 알파뱃이 나오면 배열에 넣어준다.
if (check[index] == false) {
check[index] = true;
// 배열에 이미 있는데, 이전 알파뱃과 다르면 그룹 단어 플래그를 false로 바꿔준다.
} else if (target.charAt(j) != target.charAt(j-1)) {
grouped = false;
}
}
// 단어 체크가 끝나면 그룹 단어 플래그를 통해 숫자를 증가시킨다.
if (grouped) {
answer++;
}
}
System.out.println(answer);
bf.close();
}
}
반응형
'Dev > 알고리즘과 자료구조' 카테고리의 다른 글
BOJ 백준 10809번 자바 java (0) | 2022.08.23 |
---|---|
BOJ 백준 3052번 자바 java (0) | 2022.08.21 |
BOJ 백준 2562번 자바 java (0) | 2022.08.21 |
BOJ 백준 10818번 자바 java (0) | 2022.08.17 |
BOJ 백준 11021번 자바 java (0) | 2022.08.15 |