-
백준 2920 - 음계백준 algorithm 2019. 11. 4. 21:41반응형
배열을 이용해서 오름차순인지, 내림차순인지, 섞여 있는 배열인지 확인하는 문제이다.
본인은 오름차순과 내림차순을 판별하는 함수를 만들고 두 함수 모두 false일 경우, mixed로 판별하였다.
아래와 같은 방법말고, 입력을 받으며 다음에 오는 숫자가 오름차순인지 내림차순인지 판별하여 해당 배열을 판별하는 방법 또한 있다. 그 방법이 훨씬 더 효율적이다.#include <iostream> using namespace std; bool ascending(int arr[]) { int cnt=0; for (int i = 0; i < 7; i++) { if (arr[i] + 1 == arr[i + 1]) cnt++; } if (cnt == 7)return true; else return false; } bool descending(int arr[]) { int cnt=0; for (int i = 0; i < 7; i++) { if (arr[i] - 1 == arr[i + 1]) cnt++; } if (cnt == 7)return true; else return false; } int main(void) { int arr[10]; for (int i = 0; i < 8; i++) { cin >> arr[i]; } if(ascending(arr)) cout << "ascending" << '\n'; else if (descending(arr)) { cout << "descending" << '\n'; } else cout << "mixed" << '\n'; return 0; }
반응형'백준 algorithm' 카테고리의 다른 글
백준 10172 - 개 (0) 2019.11.17 백준 15596 - 정수 N개의 합 (0) 2019.11.10 백준 15649 - N과 M(1) (0) 2019.11.04 백준 1427 - 소트인사이드 (0) 2019.11.03 백준 10872 - 팩토리얼 (0) 2019.10.30