본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Bronze 2][Python] 2909번 : 캔디 구매

by 빛밤하늘 2021. 6. 23.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

2909번: 캔디 구매

오늘은 화이트데이이다. 상근이는 여자친구를 위해서 사탕을 사려고 한다. 하지만, 상근이는 독특한 성격을 가지고 있어서, 특정 액면가의 지폐만 가지고 있는다. 또, 거스름돈은 받지 않는다.

www.acmicpc.net

 

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# 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에서 반올림을 했을 때

결과가 제대로 나오지 않아 틀렸습니다가 나왔습니다.

 

맞았습니다 결과를 보고 나서 다른 사람들의 파이썬 결과를 보니 

훨씬 짧고 조금 더 빠른 실행 시간을 가진 코드로 짠 사람들도 있었습니다.

코드를 보고 더 배워야겠습니다.

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글