kin은 그룹 단어입니다
aabbbccb는 b가 떨어져서 나타나기 때문에 그룹단어가 아닙니다
앞에 나왔던 알파벳이
뒤에 '떨어져서' 나오면
그룹단어가 아니게 됩니다
1. 알파벳을 하나씩 읽는데
2. 현재 내가 읽는 알파벳을 저장해서 연속으로 나오는 중인지 판단하고
3. 어떤 알파벳들이 나왔는지 저장할 집합을 이용합시다
코드입니다
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
scan.nextLine();
int count = 0;
for( int i=0;i<n;i++) {
Set<String> myset = new HashSet<>();
String str = scan.nextLine();
String flag = str.substring(0,1);
myset.add(flag);
for(int j=1;j<str.length();j++) {
if(str.substring(j, j+1).equals(flag)) {
continue;
}else if(str.substring(j, j+1).equals(flag)==false&&myset.contains(str.substring(j, j+1))==false) {
flag = str.substring(j, j+1);
myset.add(flag);
}else {
count+=1;
break;
}
}
}
System.out.println(n-count);
}
}
현재 연속중인 알파벳을 flag에 저장했습니다
if(연속중인 경우)
else if(연속은 아니고, 새로운 알파벳인 경우)
else count+=1;
을 이용해
그룹단어가 '아닌' 단어의 수를 계산해줍니다
'백준 문제풀기 > JAVA' 카테고리의 다른 글
[백준 1427 JAVA 자바] 소트인사이드 (0) | 2023.07.30 |
---|---|
[백준 1330 JAVA 자바] 두 수 비교하기 (0) | 2023.07.30 |
[백준 1269 JAVA 자바] 대칭 차집합 (0) | 2023.07.30 |
[백준 1193 JAVA 자바] 분수찾기 (0) | 2023.07.30 |
[백준 1181 JAVA 자바] 단어 정렬 (0) | 2023.07.30 |