Java | 음계 [백준 2920]

나경호·2022년 4월 9일
0

알고리즘 Algorithm

목록 보기
63/106

음계

출처 | 음계 [백준 2920]

문제

다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다.

1부터 8까지 차례대로 연주한다면 ascending, 8부터 1까지 차례대로 연주한다면 descending, 둘 다 아니라면 mixed 이다.

연주한 순서가 주어졌을 때, 이것이 ascending인지, descending인지, 아니면 mixed인지 판별하는 프로그램을 작성하시오.

입력

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

출력

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


풀이

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

public class Main{

	public static void main(String[] args) throws IOException{

        BufferedReader scan = new BufferedReader(new InputStreamReader(System.in));

        StringTokenizer st = new StringTokenizer(scan.readLine());

        int a = 1;
        int d = 8;
        for (int i = 0; i < 8; i++) {

            int data = Integer.parseInt(st.nextToken());
            
            if (a == data) {
                a++;
            }
            else if (d == data) {
                d--;
            }
        }
        
        if (a == 9) {
            System.out.print("ascending");
        }
        else if (d == 1) {
            System.out.print("descending");
        }
        else {
            System.out.println("mixed");
        }
    
    }
}

출처

Contest > Croatian Open Competition in Informatics > COCI 2009/2010 > Contest #1 1번

  • 문제를 번역한 사람: baekjoon
  • 데이터를 추가한 사람: jh05013
  • 문제의 오타를 찾은 사람: thinksong1

알고리즘 분류

profile
기억창고👩‍🌾

0개의 댓글