해바

2920) 5. 1차원 배열 : 음계(NOTE) 본문

C, C++

2920) 5. 1차원 배열 : 음계(NOTE)

Bacha 2019. 8. 5. 18:54

문제

https://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부터 1까지 차례대로 연주한다면 descending, 둘 다 아니라면 mixed 이다. 연주한 순서가 주어졌을 때, 이것이 ascending인지, descending인지, 아니면 mixed인지 판별하는 프로그램을

www.acmicpc.net

 

내 코드

// 8개이므로 아래 코드는 고정값 기준으로 작성함
#include "stdio.h"
int main() {
    int a[8]{ 0 }, asc(0);
    for(int i(0); i < 8; i++) {
        scanf("%d", &a[i]);
        switch (i) {
            case 0:
                continue;
            default:
                if(a[i - 1] > a[i]) asc--;	// 이전값이 현재값보다 크면 감소추세이므로 --
                if(a[i] > a[i - 1]) asc++;	// 현재값이 이전값보다 크면 증가추세이므로 ++
                break;
        }
    }
    switch (asc) {
        case 7:
            printf("ascending\n");		// 감소가 한번도 없었을 경우
            break;
        case -7:
            printf("descending\n");		// 증가가 한번도 없었을 경우
            break;
        default:
            printf("mixed\n");
            break;
    }
    return 0;
}
Comments