Algorithm/문제 풀이 / / 2023. 7. 10. 02:41

[BAEKJOON_1316 - JAVA] 그룹 단어 체커

반응형

문제

https://www.acmicpc.net/problem/1316

 

1316번: 그룹 단어 체커

그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때

www.acmicpc.net

 

JAVA코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;

public class Main {

    static int N;

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        Set<Character> charSet = new HashSet<>();
        int result = 0;

        N = Integer.parseInt(br.readLine());
        for (int idx = 0; idx < N; idx++) {
            result++;
            charSet.clear();
            String word = br.readLine();

            // init
            char currentChar = word.charAt(0);
            charSet.add(currentChar);

            for (int idx2 = 1; idx2 < word.length(); idx2++) {
                if (word.charAt(idx2) == currentChar)
                    continue;
                else if (charSet.contains(word.charAt(idx2))) {
                    result--;
                    break;
                } else {
                    currentChar = word.charAt(idx2);
                    charSet.add(word.charAt(idx2));
                }
            }
        }

        System.out.println(result);
    }
}
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유