[ BOJ / Python ] 4539번 반올림

황승환·2021년 12월 11일
0

Python

목록 보기
42/498

이번 문제는 입력받은 수가 10의 x제곱보다 작아질때까지 계속해서 반올림을 하여 해결하였다.

  • n을 입력받는다.
  • 0부터 n까지의 i에 대한 for문을 돌린다.
  • num을 입력받는다.
  • num의 반올림 자리를 나타낼 cal을 10으로 정의한다.
  • num이 cal보다 작을 때까지 while문을 돌린다.
    -> 만약 num%cal이 cal/2보다 크거나 같을 경우에는 num을 (num//cal)+1)cal로 갱신시킨다. (올림 처리)
    -> 이 외에는 num을 (num//cal)
    cal로 갱신시킨다. (내림 처리)
    -> cal에 10을 곱해준다.
  • cal을 출력한다.

Code

n=int(input())
for i in range(n):
    num=int(input())
    cal=10
    while num>cal:
        if num%cal>=cal/2:
            num=((num//cal)+1)*cal
        else:
            num=(num//cal)*cal
        cal*=10
    print(num)

profile
꾸준함을 꿈꾸는 SW 전공 학부생의 개발 일기

0개의 댓글