[백준 2920] 음계 (C#, C++) - soo:bak
작성일 :
문제 링크
설명
입력으로 주어지는 음의 연주 순서를 분석하여,
그 순서가 오름차순인지, 내림차순인지 혹은 둘 다 아닌지를 판별하는 문제입니다.
반복문으로 모든 음에 각각에 대해서 이전 음과의 비교를 통해 풀이할 수도 있지만,
음의 총 개수가 8
개 뿐이므로 미리 배열을 만들어서 비교하는 방법으로 풀이하였습니다.
Code
[ C# ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
namespace Solution {
class Program {
static void Main(string[] args) {
var ascending = Enumerable.Range(1, 8).ToArray();
var descending = Enumerable.Range(1, 8).Reverse().ToArray();
var input = Console.ReadLine()!.Split().Select(int.Parse).ToArray();
if (input.SequenceEqual(ascending))
Console.WriteLine("ascending");
else if (input.SequenceEqual(descending))
Console.WriteLine("descending");
else Console.WriteLine("mixed");
}
}
}
[ C++ ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
vector<int> ascending = {1, 2, 3, 4, 5, 6, 7, 8};
vector<int> descending = {8, 7, 6, 5, 4, 3, 2, 1};
vector<int> input(8);
for (int i = 0; i < 8; i++)
cin >> input[i];
if (input == ascending) cout << "ascending\n";
else if (input == descending) cout << "descending\n";
else cout << "mixed\n";
return 0;
}