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

 

이번에 볼 문제는 백준 18414번 문제인 X に最も近い値 (The Nearest Value)이다.
문제는 아래 링크를 확인하자.

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

 

18414번: X に最も近い値 (The Nearest Value)

整数 X, L, R が与えられる. L 以上 R 以下の整数のうち,X との差の絶対値が最も小さいものを出力せよ.そのような整数はちょうど 1 つだけ存在することが証明できる.

www.acmicpc.net

X가 L보다 작다면 문제의 답은 L, R보다 크다면 문제의 답은 R이 됨을 관찰하자. 이에 해당되는 경우가 없다면 X의 값은 L 이상 R 이하이므로 문제의 답은 X가 된다.

 

위의 관찰을 코드로 작성해 문제를 해결하자.

 

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

#include <iostream>
using namespace std;

int X, L, R;

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

	cin >> X >> L >> R;
	if (X < L) cout << L;
	else if (X > R) cout << R;
	else cout << X;
}
728x90

+ Recent posts