1일 1백준 2일차, 오늘 푼 문제는 1316번 문제인 "그룹 단어 체커"이다.
https://www.acmicpc.net/problem/1316
처음엔 배열을 이용해서 그동안 문자열에서 한 번도 등장하지 않은 char는 배열에 추가하고
이미 배열에 있는 char를 다시 추가하려고 하면 return false를 하려고 했으나
String의 contains 메서드를 이용하면 훨씬 간단하게 해결할 수 있다는 것을 깨닫고 문자열을 이용하여 해결하였다
역시 코딩을 잘하려면 메서드를 잘 활용할 줄 알아야 하는 것 같다
아래로 내리면 정답 코드가 나옵니다. 문제를 아직 풀지 않으신 분들은 주의해주세요.
import java.util.Arrays;
import java.util.Scanner;
public class pro1316 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = Integer.parseInt(sc.nextLine());
int count = 0;
String word = "";
for(int i = 0 ; i < a ; i++ ){
word = sc.nextLine();
if(Func.groupWord(word)){
count++;
}
}
System.out.println(count);
}
}
class Func{
public static boolean groupWord(String word){
int count = 0;
String sentence = "";
for(int a = 0 ; a < word.length() ; a++){
if(a != word.length()-1 && word.charAt(a) != word.charAt(a+1)){
if(sentence.contains(Character.toString(word.charAt(a)))){
return false;
}
else{
sentence += Character.toString(word.charAt(a));
}
}
else if(a == word.length()-1){
if(sentence.contains(Character.toString(word.charAt(a)))){
return false;
}
else{
sentence += Character.toString(word.charAt(a));
}
}
}
return true;
}
}
'1일 1백준' 카테고리의 다른 글
1일 1백준 : 2292번 벌집 (0) | 2022.06.14 |
---|---|
1일 1백준 : 1712번 손익분기점 (0) | 2022.06.14 |
(정말 오랜만에) 1일 1백준 : 2941번 크로아티아 알파벳 (0) | 2022.06.13 |
1일 1백준 : 10일차 5622번 다이얼 (0) | 2022.05.02 |
1일 1백준 : 9일차 2908번 상수 (0) | 2022.04.27 |