코딩 관련/코딩문제풀기
[JAVA] 그룹 단어 체커
메리짱123
2023. 3. 12. 01:56
반응형
https://www.acmicpc.net/problem/1316
import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;
public class MyClass {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int line = sc.nextInt();
int cnt = 0 ; //그룹문자 카운트
sc.nextLine(); //개행문자 때문에 넣음
for(int l =1; l <= line ; l ++ ){
String str = sc.nextLine();
List<String> list = new ArrayList<String>();
for(int i =0; i<str.length() ;i++){
String now = str.substring(i,i+1);
//리스트에 있는 경우 : 앞에서 문자를 넣었음
if(list.contains(now)){
String before = str.substring(i-1,i);
//이미 있는 문자인데 현재문자 바로 앞이 다른 문자인 경우 -> 그룹단어 아님
if(!before.equals(now)){
break;
}
//리스트에 없는 경우 : 처음 나온 문자
}else{
list.add(now);
}
//그룹단어 검사 마지막 문자인 경우 -> 그룹단어이므로 카운트
if(i+1==str.length()){
cnt+=1;
}
}
}
System.out.println(cnt);
}
}
* 학습내용
1. nextInt() : 사용자 입력의 가장 마지막 개행문자(엔터, newline)를 제거하지 않는다.
nextInt() 후에 바로 nextLine()을 사용하면 개행문자를 입력받게 된다.
2. charAt()
다음에는 substring말고 charAt을 쓰자
반응형