※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 25270번 문제인 99 Problems이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/25270 

 

25270번: 99 Problems

Print one integer, the closest positive integer that ends in $99$. In case of a tie, print the bigger one.

www.acmicpc.net

양의 정수 N이 주어질 때, N과 가장 가까우면서 99로 끝나는 양의 정수(여럿이라면 그중 큰 수)를 출력하는 문제이다.

 

N이 99보다 작다면 답이 99임은 자명하다. 또한 N이 99로 끝난다면 N 자기 자신이 답이 되는 것 또한 자명하다.

 

N이 99보다 크고 N이 99로 끝나지 않는다면 N+1, N-1, N+2, N-1, ..., N+k, N-k, ...를 순서대로 둘러보면서 먼저 나오는 99로 끝나는 수를 찾아 출력해 문제를 해결하자. 이러한 시도는 100번 이내로 항상 끝나게 될 것임을 관찰하자.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	int N; cin >> N;
	if (N < 99) cout << 99;
	else {
		int i = 0;
		while (1) {
			if ((N + i) % 100 == 99) {
				cout << N + i;
				break;
			}
			else if ((N - i) % 100 == 99) {
				cout << N - i;
				break;
			}
			i++;
		}
	}
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 25704 // C++] 출석 이벤트  (0) 2022.11.10
[BOJ 25774 // C++] Simplified Calander System  (0) 2022.11.10
[BOJ 25850 // C++] A Game Called Mind  (0) 2022.11.10
[BOJ 24348 // C++] ИЗРАЗ  (0) 2022.11.09
[BOJ 25786 // C++] Decimal XOR  (0) 2022.11.09

+ Recent posts