https://www.acmicpc.net/problem/1316
1316번: 그룹 단어 체커
그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때
www.acmicpc.net
해석 및 팁
이 문제는 단어의 개수를 입력받고 단어를 입력하면 총 몇 개의 단어가 그룹 단어인지 출력하는 문제입니다. 따라서 단어 전체의 개수에서 그룹단어가 아닌 경우 롤 빼주면 됩니다. 확인하는 방법은 현재 알파벳과 다음 알파벳이 다를 경우 다음 알파벳이 전체 문장에 없으면 됩니다.
Java 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int count = n;
for(int i = 0; i < n; i++) {
int[] arr = new int[26];
String str = sc.next();
for(int j = 0; j < str.length()-1; j++) {
if(str.charAt(j) != str.charAt(j+1)) { //i와 i+1이 다른경우
if(arr[str.charAt(j+1) - 'a'] != 0) { //0이 아니면 앞에서 존재
count--; //그룹단어가 아니므로 -1
break;
}
else arr[str.charAt(j) - 'a']++;
}
}
}
System.out.println(count);
}
}
'백준' 카테고리의 다른 글
백준 2751 수 정렬하기 2(Java) (0) | 2023.01.19 |
---|---|
백준 2941 크로아티아 알파벳(Java) (0) | 2023.01.19 |
백준 1978 소수 찾기(Java) (0) | 2023.01.19 |
백준 4673 셀프 넘버(Java) (0) | 2023.01.19 |
백준 10769 행복한지 슬픈지(Java) (0) | 2023.01.19 |