suheang

[백준] | JAVA, 자바 | 16923번 - 다음 다양한 단어 본문

알고리즘

[백준] | JAVA, 자바 | 16923번 - 다음 다양한 단어

suheang 2024. 5. 4. 22:20

https://www.acmicpc.net/problem/16923

 


문제 요약 :

다양한 단어란 모두 다른 알파벳 소문자로만 이루어진 단어를 의미한다. 예를 들어, "codeplus", "coding", "algorithm"은 다양한 단어, "baekjoon", "startlink"는 다양한 단어가 아니다.

다양한 단어 S가 주어졌을 때, 사전 순으로 S의 바로 다음에 오는 다양한 단어를 구해보자.

 

( 사전 순으로 S의 바로 다음에 오는 다양한 단어를 출력한다. 바로 다음에 오는 단어가 없는 경우에는 -1을 출력 )


문제 풀이 :

더보기
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String s = br.readLine();
        boolean[] alphabetCheck = new boolean[26];

        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            alphabetCheck[c - 'a'] = true;
        }

        char nextAlphabet = ' ';
        for (int i = 0; i < alphabetCheck.length; i++) {
            if (!alphabetCheck[i]) {
                nextAlphabet = (char) ('a' + i);
                break;
            }
        }

        if (nextAlphabet != ' ') {
            System.out.println(s + nextAlphabet);
        } else {
            System.out.println(-1);
        }
    }
}

예제 입력 4번 같은 케이스를 어떻게 처리해야 할지 몰라서 그전까지 구현한 코드를 올림, 추후 수정 예정