Hayden's Archive
[알고리즘] 백준 1316번 : 그룹 단어 체커 본문
알고리즘 문제 출처 : https://www.acmicpc.net/problem/1316
내가 작성한 코드
입력받은 문자열을 char 배열로 바꾸고, 반복문을 돌려 기준이 되는 charStr[j] 값을 두고 k번째는 같지 않은데 k+1번째는 같을 경우 그룹 단어에 해당되지 않으므로 break하여 반복문을 깨고 나오도록 하였다. 그룹단어를 식별하기 위해서 boolean 타입의 flag를 따로 두었다.
어떻게 문제는 해결했지만 다소 코드가 조잡해진 것 같아서 아쉽다. 나중에 시간 내서 다시 풀어봐야지.
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 = 0;
for(int i=0; i<n; i++) {
String str = sc.next();
char[] charStr = str.toCharArray();
boolean flag = true;
for(int j=0; j<charStr.length-1; j++) {
for(int k=j; k<charStr.length-1; k++) {
if(charStr[k]!=charStr[j] && charStr[k+1]==charStr[j]) {
flag = false;
break;
}
}
if(flag==false) break;
}
if(flag==true) count++;
}
System.out.println(count);
}
}