1일 1백준 2일차, 오늘 푼 문제는 1316번 문제인 "그룹 단어 체커"이다.

https://www.acmicpc.net/problem/1316
1316번: 그룹 단어 체커
그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때
www.acmicpc.net
처음엔 배열을 이용해서 그동안 문자열에서 한 번도 등장하지 않은 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 |