Post List

[BOJ] 백준 2920 음계

[BOJ] 백준 2920 음계



문제 링크 : https://www.acmicpc.net/problem/2920


이 문제는, 숫자 뭉치가 주어졌을때 이것이 오름차순/내림차순 인지 판별하면 되는 문제 입니다.


문제를 해결하기위해 루프를 돌려도 되지만, algorithm의 is_sorted 함수를 사용하면 간단해 집니다. 이 함수는 기본적으로 오름차순인지를 판별하지만, 내림차순인지도 확인하려면 따로 cmp 함수를 생성하여 인자로 넣어 주어야 합니다.


소스코드 :






#include
#include 
#include 
#include 
using namespace std;

bool cmp(int a, int b) {
	return a > b;
}
int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	vector v(8);
	for (int i = 0; i < 8; i++) {
		cin >> v[i];
	}
	if (is_sorted(v.begin(), v.end())) cout << "ascending" << endl;
	else if ((is_sorted(v.begin(), v.end(), cmp))) cout << "descending" << endl;
	else cout << "mixed" << endl;
}

댓글