[백준]2920번: 음계 c언어
Coding/Basic

[백준]2920번: 음계 c언어

백준 2920번 음계 문제링크

2920

문제에서 파악해야 할 핵심요소 및 마인드맵

  • 어떻게 오름차순, 내림차순, 아무것도 아닌 것으로 파악할 것인가?

주의사항

  • 여러개 for문을 쓰는 것이 답만 맞으면 가능한 일이다.
  • a,b,c의 경우로 나뉜다면 c는 a도 아닌, b도 아닌 경우로 파악하고 문제를 풀면 쉽다.(c는 mixed와 같은 나머지 경우로)
  • 여부를 파악하는 경우에 a=0,1이나 True, false와 같은 이진법 개념을 가져와서 적용하는 것이 유리하다
#include <stdio.h>

int input[10];
int main(void) {
	int a = 1, b = 1;
    
 	for (int i = 0; i < 8; i++) {	//입력받기
  		scanf("%d", &input[i]);
 	}
    
 	for (int i = 0; i < 8; i++) {	//ascending이 아니면 a = 0으로 표시
  		if (input[i] != i + 1) {
   			a = 0;
   			break;
  		}
 	}
    
 	for (int i = 0; i < 8; i++) {	//descending이 아니면 b = 0으로 표시
  		if (input[i] != 8 - i) {
   			b = 0;
   			break;
  		}
 	}
    
 	if (a == 0 && b == 0)
  		printf("mixed\n");
 	else if (a == 1)
   		printf("ascending\n");
 	else if (b == 1)
   		printf("descending\n");
        
 	return 0;
}