본문 바로가기
코딩테스트 준비/백준

[백준] 2920번 - 음계 [Java]

by mwzz6 2025. 1. 6.

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

 

[백준] 2920번 - 음계 [Java]
[백준] 2920번 - 음계 [Java]


1.  아이디어

 

기준이 되는 원소와 다음 원소의 비교를 반복하면 간단하게 해결할 수 있다.


2. 문제풀이

 

첫 번째 정수를 num에 저장하고 다음 정수 next와 비교를 처음에 했다. 비내림차순이면 비교했던 next를 num에 저장한 후 다음 next와 비교하는 과정을 반복했다. 오름차순이 아니면 iAscending을 false로 내림차순이 아니면 isDescending을 false로 설정한 후 조건문에서 오름차순도 내림차순도 아니면 mixed를 오름차순이나 내림차순이면 그에 맞게 출력하는 방식으로 구현했다.


3. 코드

 

import java.io.*;
import java.util.*;

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

        int num = Integer.parseInt(st.nextToken());
        boolean isAscending = true;
        boolean isDescending = true;

        while (st.hasMoreTokens()) {
            int next = Integer.parseInt(st.nextToken());

            if (num > next) isAscending = false;
            else if (num < next) isDescending = false;

            num = next;
        }

        if (!isAscending && !isDescending) System.out.println("mixed");
        else if (isAscending) System.out.println("ascending");
        else System.out.println("descending");
    }
}

4. 후기