백준 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;
}
'Coding > Basic' 카테고리의 다른 글
[백준] 8958번: OX퀴즈 (0) | 2019.09.13 |
---|---|
[Basic] 출력 계속 받는 방법 정리 (0) | 2019.09.11 |
[백준] 3052번: 나머지 c++ (0) | 2019.09.10 |
[백준] 1110번: 더하기 사이클 c언어 (0) | 2019.09.05 |
[DataStructures]Tree트리에 대해서 알아보자 (0) | 2019.08.29 |