백준 음계

KIMYEONGJUN·2025년 2월 14일
post-thumbnail

문제

내가 생각했을때 문제에서 원하는부분

첫째 줄에 8개 숫자가 주어진다.
이 숫자는 문제 설명에서 설명한 음이며, 1부터 8까지 숫자가 한 번씩 등장한다.

첫째 줄에 ascending, descending, mixed 중 하나를 출력한다.

내가 이 문제를 보고 생각해본 부분

BufferedReader를 사용하여 입력을 받는다.
입력된 문자열을 공백 기준으로 나누어 배열에 저장해준다.
isAscending과 isDescending 변수를 사용하여 각각의 조건을 체크한다.
반복문을 통해 각 숫자가 예상되는 위치와 일치하는지 확인한다.
마지막으로 조건에 따라 결과를 출력한다.

코드로 구현

package baekjoon.baekjoon_26;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

// 백준 2920번 문제
public class Main932 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        // 입력 받기
        String input = br.readLine();
        String[] numbers = input.split(" ");

        // ascending, descending 체크용 변수
        boolean isAscending = true;
        boolean isDescending = true;

        for(int i = 0; i < 8; i++) {
            int num = Integer.parseInt(numbers[i]);
            // ascending 체크
            if(num != i + 1) {
                isAscending = false;
            }
            // descending 체크
            if(num != 8 - i) {
                isDescending = false;
            }
        }

        // 결과 출력
        if(isAscending) {
            System.out.println("ascending");
        } else if(isDescending) {
            System.out.println("descending");
        } else {
            System.out.println("mixed");
        }

        br.close();
    }
}

마무리

코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.

profile
Junior backend developer

0개의 댓글