-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Bronze I] Title: 반올림, Time: 52 ms, Memory: 36484 KB -BaekjoonHub
- Loading branch information
Showing
2 changed files
with
53 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# [Bronze I] 반올림 - 4539 | ||
|
||
[문제 링크](https://www.acmicpc.net/problem/4539) | ||
|
||
### 성능 요약 | ||
|
||
메모리: 36484 KB, 시간: 52 ms | ||
|
||
### 분류 | ||
|
||
사칙연산, 구현, 수학 | ||
|
||
### 제출 일자 | ||
|
||
2024년 9월 1일 20:40:35 | ||
|
||
### 문제 설명 | ||
|
||
<p>정수 x가 주어졌을 때, 10보다 크다면, 1의 자리에서 반올림하고, 결과가 100보다 크면, 10의 자리에서 반올림하고, 1000보다 크면, 100의 자리에서 반올림하고... 이와 같이 계속 반올림하는 프로그램을 작성하시오.</p> | ||
|
||
### 입력 | ||
|
||
<p>첫째 줄에 테스트 케이스의 개수 n이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 정수 x가 주어진다. (0 ≤ x ≤ 99999999)</p> | ||
|
||
### 출력 | ||
|
||
<p>각 테스트 케이스마다 입력으로 주어지는 정수를 문제 설명에 나온 것처럼 반올림한 결과를 출력한다.</p> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
import sys | ||
import decimal | ||
|
||
|
||
context = decimal.getcontext() | ||
context.rounding = decimal.ROUND_HALF_UP | ||
|
||
# sys.setrecursionlimit(100000) | ||
|
||
|
||
def input(): | ||
return sys.stdin.readline() | ||
|
||
|
||
# main | ||
if __name__ == "__main__": | ||
N = int(input()) | ||
for _ in range(N): | ||
n = input() | ||
tmp, digit = 10, -1 | ||
while int(n) > tmp: | ||
n = round(decimal.Decimal(n), digit) | ||
tmp *= 10 | ||
digit -= 1 | ||
print(int(n)) |