https://www.acmicpc.net/problem/14910
🔔 문제 :
(1<= N<= 1,000,000)주어진 N개의 정수가 오름차순으로 나열 된지 판정하는 문제입니다.
입력으로 주어지는 정수는 -1,000,000 <= <=1,000,000 이고, 값은 입력값으로 N개 주어집니다.
오름차순이면 Good을 출력, 그렇지 않으면 Bad를 출력합니다.
🔔 Kick Point :
끝이 정해져 있지 않기에 eof를 고려하여, 문제를 끝내 줘야 합니다.
또한 이전 문자와, 이후 문자만 오름차순인지 비교하면 O(1) 의 공간복잡도로 문제를 이용 할 수 있습니다.
🔔 Code :
#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";
}