https://www.acmicpc.net/problem/1316
1316번: 그룹 단어 체커
그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때
www.acmicpc.net
문자열로 문자 배열 만듦.
바로 앞 문자와 비교해서 같으면 넘어가고
다른데 이전에 나온적 있다면 그룹 단어가 아님, 나온적 없다면 그룹 단어가 될 수 있음
이전에 나왔는지 확인하기 위해 알파벳 개수 크기로 int 배열 만들었다.
문자 배열에서 나온 알파벳을 확인하려면 확인 배열 인덱스가 알파벳-97인 부분 값이 1인지 확인하려고 했다.
1이면 이전에 나온 알파벳이고 그룹 단어 아님, 0이면 처음 나온 알파벳
import java.util.Scanner;
public class P1316 {
static char[] ch;
static int[] a;
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int tmp = n;
for(int i=0; i<n; i++){
a = new int[26]; // 알파벳 개수만큼
ch = sc.next().toCharArray();
a[ch[0]-97] = 1;
boolean flag = true;
for(int j=1; j<ch.length; j++){
if(ch[j]!=ch[j-1]) {
if(a[ch[j]-97]==1) {
flag = false;
}
else {
a[ch[j]-97] = 1;
}
}
}
if(!flag) {
tmp--;
}
}
System.out.println(tmp);
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 수들의 합_자바 (0) | 2022.11.12 |
---|---|
[백준] 통계학_자바 (0) | 2022.11.10 |
[백준] 색종이_자바 (0) | 2022.11.10 |
[백준]자바_3003번_킹, 퀀, 룩, 비숍, 나이트, 폰 (0) | 2021.04.27 |
[백준]자바_2914번_저작권 (0) | 2021.04.27 |