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;
}