알고리즘/백준
[C++] 백준 3052번 - 음계
Esunn
2022. 7. 26. 22:47
https://www.acmicpc.net/problem/2920
숫자의 배열에 따라서 출력을 다르게 하는 문제
#include <iostream>
using namespace std;
int main() {
int num[8];
int chk = 0;
int k = 0;
for (int i = 0; i < 8; i++) {
cin >> num[i];
if (num[i] == i+1) chk++;
}
if (chk == 8) {
cout << "ascending";
return 0;
}
else {
chk = 0;
for (int j = 8; j > 0; j--) {
if (num[k] == j) chk++;
k++;
}
if (chk == 8) {
cout << "descending";
return 0;
}
else {
cout << "mixed";
return 0;
}
}
}
단순하게 8칸 배열을 만들고 for문을 통해서 특정 조건을 먼저 확인하는 식으로 풀었다.
이 문제는 어떤 과정으로 푸는지가 중요한 문제인 것 같다.
나는 조금 비효율적으로 풀이를 했는데 창의적은 풀이가 정말 많았다.
이 글이 정말 잘 푼 것 같았다.