Skip to content

Commit 8928331

Browse files
committed
[Bronze I] Title: 반올림, Time: 40 ms, Memory: 32412 KB -BaekjoonHub
1 parent a5cd294 commit 8928331

2 files changed

Lines changed: 51 additions & 0 deletions

File tree

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# [Bronze I] 반올림 - 2033
2+
3+
[문제 링크](https://www.acmicpc.net/problem/2033)
4+
5+
### 성능 요약
6+
7+
메모리: 32412 KB, 시간: 40 ms
8+
9+
### 분류
10+
11+
수학, 구현
12+
13+
### 제출 일자
14+
15+
2025년 6월 14일 16:31:55
16+
17+
### 문제 설명
18+
19+
<p>정수 N이 주어져 있을 때 이 수가 10보다 크면 일의 자리에서 반올림을 하고, 이 결과가 100보다 크면 다시 10의 자리에서 반올림을 하고, 또 이 수가 1000보다 크면 100의 자리에서 반올림을 하고.. (이하 생략) 이러한 연산을 한 결과를 출력하시오.</p>
20+
21+
### 입력
22+
23+
<p>첫째 줄에 정수 N이 주어진다. (0 ≤ N ≤ 99,999,999)</p>
24+
25+
### 출력
26+
27+
<p>첫째 줄에 위와 같은 연산을 한 결과를 출력하시오.</p>
28+
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# 2033 반올림
2+
# 브론즈 1
3+
4+
import sys
5+
input = sys.stdin.readline
6+
7+
N = input().strip()
8+
N_list = list(N)
9+
10+
if len(N_list) > 1:
11+
# 마지막 자리(일의 자리)부터 두 번째 자리까지 순회하며 반올림 처리
12+
for i in range(len(N_list) - 1, 0, -1):
13+
# 현재 자리 숫자가 5 이상이면 앞자리를 1 올림
14+
if int(N_list[i]) >= 5:
15+
N_list[i-1] = str(int(N_list[i-1]) + 1)
16+
# 반올림된 후든 아니든, 현재 자리 숫자는 0으로 고정
17+
N_list[i] = '0'
18+
# 맨 앞자리가 '10'이 된 경우도 int 변환으로 자동 처리됩니다
19+
result = int(''.join(N_list))
20+
print(result)
21+
else:
22+
# 한 자리 수면 그대로 출력
23+
print(int(N_list[0]))

0 commit comments

Comments
 (0)