새소식

💻 Programming (프로그래밍)/C++ | 백준

[C++][백준] - 오르막 (14910번)

  • -
https://www.acmicpc.net/problem/14910
 

14910번: 오르막

첫째 줄에 공백으로 구분된 N(1 ≤ N ≤ 1,000,000)개의 정수가 주어진다. 입력으로 주어지는 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.

www.acmicpc.net

(1<= N<= 1,000,000)주어진 N개의 정수가 오름차순으로 나열 된지 판정하는 문제입니다.

 

입력으로 주어지는 정수는 -1,000,000 <= <=1,000,000 이고, 값은 입력값으로 N개 주어집니다.

 

오름차순이면 Good을 출력, 그렇지 않으면 Bad를 출력합니다.


끝이 정해져 있지 않기에 eof를 고려하여, 문제를 끝내 줘야 합니다.

 

또한 이전 문자와, 이후 문자만 오름차순인지 비교하면 O(1) 의 공간복잡도로 문제를 이용 할 수 있습니다.


#include <iostream> using namespace std; int main() { int prev = -1000001, cur; bool isFlag = true; while (cin >> cur) { if (cin.eof()) break; if (prev > cur) { isFlag = false; } prev = cur; } if (isFlag) cout << "Good"; else cout << "Bad"; }

 

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.