백준 2920 음계 C++
2023. 9. 18. 17:57ㆍ알고리즘문제 풀이/백준
문제
다장조는 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인지 판별하는 프로그램을 작성하시오.
입력
첫째 줄에 8개 숫자가 주어진다. 이 숫자는 문제 설명에서 설명한 음이며, 1부터 8까지 숫자가 한 번씩 등장한다.
출력
첫째 줄에 ascending, descending, mixed 중 하나를 출력한다.
풀이
각 항을 입력할 때
1부터 8까지 올라가는 음계에 해당하면 ascending에 counting하고
8부터 1까지 내려가는 음계에 해당하면 descending에 counting한다.
ascending에 counting된 개수가 8이면 ascending이라고 출력하고
descending에 counting된 개수가 8이면 descending이라고 출력하고
둘다 아니면 mixed라고 출력한다.
#include<iostream>
using namespace std;
int main() {
int arr[8], ascending_cnt = 0, descending_cnt = 0;
for (int i = 0; i < 8; i++) {
cin >> arr[i];
if (arr[i] == i + 1) {
ascending_cnt++;
}
else if (arr[i] == 8 - i) {
descending_cnt++;
}
}
if (ascending_cnt == 8) {
cout << "ascending";
}
else if (descending_cnt == 8) {
cout << "descending";
}
else {
cout << "mixed";
}
return 0;
}'알고리즘문제 풀이 > 백준' 카테고리의 다른 글
| 백준 3190 뱀 C++ (0) | 2023.09.18 |
|---|---|
| 백준 3052 나머지 C++ (2) | 2023.09.18 |
| 백준 2884 알람 시계 Python (0) | 2023.09.18 |
| 백준 2869 달팽이는 올라가고 싶다 C++ (0) | 2023.09.18 |
| 백준 2858 기숙사 바닥 C++ (0) | 2023.09.18 |