PS/BOJ
[알고리즘] 백준 1075번: 나누기 (C++)
도비(Doby)
2022. 2. 26. 15:26
https://www.acmicpc.net/problem/1075
1075번: 나누기
첫째 줄에 N, 둘째 줄에 F가 주어진다. N은 100보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다. F는 100보다 작거나 같은 자연수이다.
www.acmicpc.net
맨 끝에 두 자리가 조건을 만족하며 제일 작은 값이 되어야 하기 때문에 for문을 99부터 0까지 역순으로 돌려주었다.
코드에서 맨 처음에 n을 받으면 맨 뒤 두 자리는 00으로 바꾸는 작업도 해주어야 한다.
[AC 코드]
#include <iostream>
using namespace std;
int main(){
int n, f;
cin >> n >> f;
n /= 100;
n *= 100;
int minMod = 100;
int result = 100;
for(int i = 99; i >= 0; i--){
if(minMod >= (n + i) % f){
minMod = (n + i) % f;
result = (n + i) % 100;
}
}
if(result < 10){
cout << 0 << result;
}
else{
cout << result;
}
return 0;
}