728x90
조건
문장안에 딱 한번 나온 문자도 그룹단어
연속해서 있는 문자열을 제외하고는 그룹단어가 아니다!
풀이
HashSet으로 중복검사를 해줬다.
연속으로 나오는 문자일 경우는 continue로 넘어가줬다.
연속된 문자도 아니고, 이미 hashset안에 들어가있는 문자를 발견하면 그룹단어가 아님으로 바로 반복문 탈출!
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main {
static int N;
static ArrayList<String> array;
public static int find(String s) {
Set<Character> set = new HashSet<>(); // 중복 허용 X
char word = s.charAt(0);
set.add(word);
for(int i = 1; i < s.length(); i++) {
if(word == s.charAt(i)) {
continue;
}
if(set.contains(s.charAt(i))) {
return 0;
}
word = s.charAt(i);
set.add(s.charAt(i));
}
return 1;
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
N = scan.nextInt();
array = new ArrayList<>();
int count = 0;
for(int i = 0; i < N; i++) {
array.add(scan.next());
count += find(array.get(i));
}
System.out.println(count);
scan.close();
}
}
쉬운 문제였다 ! 정답률 50프로 이하대도 잘 맞췄으면,,,
728x90
'CS > Algorithm' 카테고리의 다른 글
[ JAVA / 백준 : 10814 ] 나이순 정렬 (0) | 2021.08.08 |
---|---|
[ JAVA / 백준 : 11650] 좌표정렬하기 (0) | 2021.08.06 |
[ JAVA / 백준 : 2615 ] 오목 (0) | 2021.07.31 |
[ JAVA / 백준 : 11723] 집합 (0) | 2021.07.30 |
[ JAVA / 백준 : 7568 ] 덩치 (0) | 2021.07.30 |