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

+ Recent posts