[백준] JAVA/문자열

[백준] JAVA 1316: 그룹 단어 체커

코딩하는곰곰 2021. 12. 8. 22:21

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

 

1316번: 그룹 단어 체커

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

www.acmicpc.net


Logic:


Solution:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) throws IOException {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.parseInt(br.readLine());
		int cnt = 0;
		int[] arr;
		String str;
		
		
		for(int i=0;i<n;i++) {
			arr = new int[26];
			str = br.readLine();
			//알파벳을 배열에 넣고 나온 횟수만큼 1씩 더해준다
			for(int j=0;j<str.length();j++) {
				arr[str.charAt(j)-97]++;
			}
			
			for(int j=0;j<str.length()-1;j++) {
				if(str.charAt(j)==str.charAt(j+1)) {
					arr[str.charAt(j)-97]--;
				}
			}
			
			for(int j=0;j<str.length();j++) {
				if(arr[str.charAt(j)-97]>1) {
					break;
				}
				else if(j==str.length()-1) {
					cnt++;
				}
			}
		}
		
		System.out.print(cnt);
		br.close();
	}
}

Code Review