java/백준 java
[자바/Java] 백준 2033번 반올림
CE : 하랑
2023. 5. 7. 22:07
문제
정수 N이 주어져 있을 때 이 수가 10보다 크면 일의 자리에서 반올림을 하고, 이 결과가 100보다 크면 다시 10의 자리에서 반올림을 하고, 또 이 수가 1000보다 크면 100의 자리에서 반올림을 하고.. (이하 생략) 이러한 연산을 한 결과를 출력하시오.
입력
첫째 줄에 정수 N이 주어진다. (0 ≤ N ≤ 99,999,999)
ex)
15
446
출력
첫째 줄에 위와 같은 연산을 한 결과를 출력하시오.
ex)
20
500
코드
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt();
int num=10;
while(N>num){
if(N%num >= num/2){
N=N+num;
}
N=N-(N%num);
num=num*10;
}
System.out.println(N);
}
}