새소식

💻 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를 출력합니다.


🔔 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";
}

 

Contents

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

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