반응형
https://www.acmicpc.net/problem/18414
표준입출력, for, if문을 사용해보는 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
x, l, r, 최소 차이를 저장할 minDiff, 최소 차이를 가졌을 때 값을 출력할 ans를 선언 후 x, l, r을 입력해줍니다.
📔 풀이과정
1. i = l ~ r범위까지 for문을 돕니다. 2. 절댓값의 차이 minDiff보다 작은 값이 존재한다면 해당 차이를 저장해주고 그 때의 수 i를 ans에 저장해줍니다.
📔 정답출력
ans를 출력해줍니다.
📕 Code
#include <bits/stdc++.h>
#define MAX 0x3f3f3f3f
using namespace std;
int x, l, r, minDiff = MAX, ans = MAX;
int main(){
cin >> x >> l >> r;
for(int i = l; i <= r; i++){
int diff = abs(i - x);
if(minDiff > diff) {
ans = i;
minDiff = diff;
}
}
cout << ans;
}
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - 백준(BOJ) 20215 : Cutting Corners (0) | 2021.11.07 |
---|---|
(C++) - 백준(BOJ) 19602 : Dog Treats (0) | 2021.11.05 |
(C++) - 백준(BOJ) 18408 : 3 つの整数 (Three Integers) (0) | 2021.11.02 |
(C++) - 백준(BOJ) 17903 : Counting Clauses (0) | 2021.10.30 |
(C++) - 백준(BOJ) 17874 : Piece of Cake! (0) | 2021.10.29 |