반응형
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을 쓰자
반응형
'코딩 관련 > 코딩문제풀기' 카테고리의 다른 글
[JAVA] 9012번 괄호 (0) | 2023.03.13 |
---|---|
[JAVA] 너의 평점은 (0) | 2023.03.12 |
[JAVA] 크로아티아 알파벳 (0) | 2023.03.11 |
[JAVA] 직사각형에서 탈출 (0) | 2023.03.09 |
[JAVA] 4344번 평균은 넘겠지 문제 (0) | 2023.03.09 |