알고리즘 문제/백준
반올림 #2033
BEstyle
2023. 1. 8. 15:50
문제
정수 N이 주어져 있을 때 이 수가 10보다 크면 일의 자리에서 반올림을 하고, 이 결과가 100보다 크면 다시 10의 자리에서 반올림을 하고, 또 이 수가 1000보다 크면 100의 자리에서 반올림을 하고.. (이하 생략) 이러한 연산을 한 결과를 출력하시오.
입력
첫째 줄에 정수 N이 주어진다. (0 ≤ N ≤ 99,999,999)
출력
첫째 줄에 위와 같은 연산을 한 결과를 출력하시오.
예제 입력 1 복사
15
예제 출력 1 복사
20
예제 입력 2 복사
446
예제 출력 2 복사
500
출처
- 문제의 오타를 찾은 사람: eric00513
import sys
n = sys.stdin.readline().rstrip()
alist = list(map(int, n))
lo=0
for i in range(len(n)-1,0,-1):
if alist[i]+lo>=5:
lo=1
else:
lo=0
alist[i]=0
alist[0] +=lo
print(int("".join(map(str,alist))))