티스토리 뷰

반응형

www.acmicpc.net/problem/2920

 

2920번: 음계

다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8

www.acmicpc.net

 


 

 

 문제

 입력

 출력

 예제 입출력

 알고리즘 분류

  • 구현

 


 

 문제 접근 과정

 

다장조인 c d e f g a b C는 필요도 없었다.

int [] 배열을 2개 만들어서 차례대로 올라가는 ascending과 차례대로 내려오는 descending을 만들어줬다.

 

그 후 입력받은 숫자 배열과 비교하여 판별하는 코드를 작성하면 좋겠다고 생각했다.

 

비교하는 건 메서드를 따로 만들어줬다.

따로 만든 메서드로 배열을 비교해줬고 경우에 따라 다르게 출력하도록 코드를 짰다.

 


 

 문제 풀이

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int[] ascending = {1,2,3,4,5,6,7,8};
        int[] descending = {8,7,6,5,4,3,2,1};
        int[] input = new int[8];

        for (int i=0;i<8;i++) {
            input[i]=in.nextInt();
        }

        if(equals(input,ascending)) {
            System.out.print("ascending");
        }else if (equals(input,descending)) {
            System.out.print("descending");
        }else {
            System.out.print("mixed");
        }
    }
    static boolean equals(int[] ascending, int[] descending) {
        for(int i=0; i<(ascending.length); i++) {
            if(ascending[i] != descending[i]){
                return false;
            }
        }
        return true;
    }
}

 

 

 


 결과

 

 


 마무리

 

메서드를 잘 활용하면 코드 작성을 보기 쉽게 할 수 있다.

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함