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
www.acmicpc.net
풀이
#include <stdio.h>
int main() {
int arr[8];
int flag = 3; // ascending=1, descending=2, mixed=3
// 8개 음계 입력 받기
for (int i = 0; i < 8; i++) {
scanf("%d", &arr[i]);
}
// 첫번째 음계부터 차례로 비교
for (int i = 0; i < 8; i++) {
// ascending
if (arr[0] == 1) {
if (arr[i] == i + 1)
flag = 1;
else { // 오름차순 음계가 아니라면 mixed
flag = 3;
break;
}
}
// descending
else if (arr[0] == 8) {
if (arr[i] == 8 - i)
flag = 2;
else { // 내림차순 음계가 아니라면 mixed
flag = 3;
break;
}
}
// 첫번째 음계가 0 또는 8이 아니라면 무조건 mixed
else break;
}
if (flag == 1)
printf("ascending");
else if (flag == 2)
printf("descending");
else printf("mixed");
return 0;
}
조건문의 이해도가 필요
'코딩 > 백준 문제 (브론즈)' 카테고리의 다른 글
[백준/1259/C언어] 팰린드롬수 _ 풀이 (2) | 2024.01.14 |
---|---|
[백준/10250/C언어] ACM 호텔 _ 풀이 (0) | 2024.01.14 |
[백준/2475/C언어] 검증수 _ 풀이 (0) | 2024.01.13 |
[백준/10872/C언어] 팩토리얼 _ 풀이 (0) | 2023.10.25 |
[백준/4153/C언어] 직각삼각형 _ 풀이 (0) | 2023.09.20 |