반올림

면접 대비

시간 제한1초메모리 제한128 MB

요약
각 정수를 일의 자리, 십의 자리, 백의 자리 순서로 반올림하며 현재 기준값을 넘지 않을 때까지 반복하고, 반올림은 반올림(round-half-up) 규칙을 따른다.
난이도

보통10점 중 4점

유형
수학, 구현, 시뮬레이션
정답자
아직 제출이 없습니다

문제

정수 xx가 주어진다. 다음 규칙에 따라 계속해서 반올림한 값을 구한다.

  • xx가 1010보다 크면 일의 자리에서 반올림한다. 즉 가장 가까운 1010의 배수로 만든다.
  • 그 결과가 100100보다 크면 십의 자리에서 반올림한다. 즉 가장 가까운 100100의 배수로 만든다.
  • 그 결과가 10001000보다 크면 백의 자리에서 반올림한다.
  • 이처럼 반올림한 결과가 다음 기준값(10,100,1000,…10, 100, 1000, \dots)보다 큰 동안 자리를 하나씩 올려 가며 반올림을 반복한다.

반올림은 버리는 부분이 그 자리 값의 절반 이상이면 올리고, 그렇지 않으면 내린다. 예를 들어 일의 자리에서 반올림할 때는 일의 자리 숫자가 55 이상이면 올린다. 더 이상 반올림할 수 없으면(현재 값이 그 시점의 기준값 이하이면) 그 값이 최종 결과이다.

입력

첫째 줄에 테스트 케이스의 개수 nn이 주어진다. 이어지는 각 줄에는 반올림할 정수 xx가 하나씩 주어진다. (0≤x≤999999990 \le x \le 99999999)

출력

각 테스트 케이스마다 주어진 정수를 위 규칙대로 반올림한 결과를 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    9
    15
    14
    4
    5
    99
    12345678
    44444445
    1445
    446
    
    예상 출력
    20
    10
    4
    5
    100
    10000000
    50000000
    2000
    500