[java] 백준 1316번 그룹 단어 체커알고리즘/백준2021. 7. 7. 21:52
Table of Contents
import java.util.Scanner;
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 s = sc.next();
// checker(s)가 true 인 경우에만 count
if (checker(s)) {
count++;
}
}
System.out.println(count);
}
public static boolean checker(String s) {
// 이전 문자를 나타내는 previous
int previous = 0;
boolean[] b = new boolean[26];
// 문자 하나하나 뽑아내기
for (int j = 0; j < s.length(); j++) {
// int 형으로 나타내면 해당 문자의 아스키 번호가 나오게 됨.
int present = s.charAt(j);
// 이전 문자와 현재 문자가 같지 않을 경우
if (previous != present) {
// 소문자 a = 97 ~ z까지 b[0] = a ~ b[25] = z가 됨
if (!b[present - 'a']) {
b[present - 'a'] = true;
// 다음 턴에도 이전 문자와 현재 문자를 비교하기 위해서 previous 에 present 를 대입
previous = present;
} else {
// 현재 문자가 true(이미 전에 나왔다면) 라면 false 로 함수 종료
return false;
}
}
}
return true;
}
}
2일간 많은 생각과 디버깅... 그리고 질문을 하여 해결했습니다... 흐에....
'알고리즘 > 백준' 카테고리의 다른 글
[java] 백준 2292번 벌집 (0) | 2021.07.10 |
---|---|
[java] 백준 1712번 손익분기점 (0) | 2021.07.08 |
[java] 백준 2941번 크로아티아 알파벳 (0) | 2021.07.06 |
[java] 백준 단계별로 풀어보기 7단계 (3) (0) | 2021.07.05 |
[java] 백준 단계별로 풀어보기 7단계 (2) (0) | 2021.07.02 |
@펄찌 :: Pearl's Story
펄의 일상이 궁금한 사람 요기~
즐거운 하루 되셨으면 좋겠습니다😊