반응형
밑의 링크는 백준에서의 문제 링크입니다.
파이썬 코드와 결과입니다.
# readline을 사용하기 위해 import합니다.
from sys import stdin
# 첫째 줄에 사탕의 가격 C,
# 상근이가 가지고 있는 지폐의 액면가에 적혀있는 0의 개수 K를 공백으로 구분해 입력합니다.
# 0 <= C <= 1,000,000,000
# 0 <= K <= 9
# 각각 정수형으로 변환합니다.
C, K = map(int, stdin.readline().split(' '))
# 사탕의 가격의 길이와 지폐의 0의 개수가 같고, 사탕 가격 맨 앞의 숫자가 5라면
if len(str(C)) == K and str(C)[0] == '5':
# 사탕의 가격 맨 앞의 5에서 반올림한 결과를 출력합니다.
print('1' + '0' * K)
# 그 외의 경우에는
else:
# 사탕의 가격 뒤에서부터 세어 K번째 자리에서 반올림한 결과를 출력합니다.
print(round(C, -K))
첫 번째로 제출에서는 사탕의 가격에서 맨 앞 숫자가 5일 때, 그 5에서 반올림을 했을 때
결과가 제대로 나오지 않아 틀렸습니다가 나왔습니다.
맞았습니다 결과를 보고 나서 다른 사람들의 파이썬 결과를 보니
훨씬 짧고 조금 더 빠른 실행 시간을 가진 코드로 짠 사람들도 있었습니다.
코드를 보고 더 배워야겠습니다.
※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.
※ 더 효율적이고 빠른 정답을 환영합니다.
반응형
댓글