[백준] 1316 그룹단어체커
오랜만에 HashSet 써봤당
import java.util.*;
import java.io.*;
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());
String[] s = new String[n]; // 주어진 단어를 담을 배열
for(int i = 0 ; i < n ; i++){
s[i] = br.readLine();
}
int cnt = 0; // 그룹 단어를 저장할 변수
myloop:
for(int i = 0 ; i < n ; i++ ){
HashSet<Character> set = new HashSet<>(); // 이미 나온 알파벳 담기
for(int j = 1 ; j < s[i].length() ; j++){
char now = s[i].charAt(j); // 현재 글자
char prev = s[i].charAt(j-1); // 직전 글자
if( now == prev ){ // 서로 같다면 일단 넘기고
continue;
}else{ // 다르다면
set.add(prev); // 이전 글자는 이제 set에 저장
if(set.contains(s[i].charAt(j))){ // 만약 현재 글자가 set에 이미 있는 글자라면
continue myloop; // 이 단어는 그룹 단어가 아니다
}
}
}
cnt++; // 모든걸 다 통과했다면 그룹 단어이므로 세어준다
}
System.out.println(cnt);
}
}
Comments