Uknow's Lab.
article thumbnail

https://www.acmicpc.net/problem/2909

 

2909번: 캔디 구매

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

www.acmicpc.net

 

난이도 : 브론즈 2
태그 : 수학, 구현

 

 

설명

단순히 자리수에 반올림을 처리하면 되는 문제이지만,

파이썬으로 반올림을 할 경우 한가지 주의할 점이 있습니다.

 

일반적으로 사용하는 5 이상이면 올림, 4이하면 내림하는 방식을 사사오입이라 합니다.

하지만 파이썬은 오사오입 방식을 사용하는데,

5보다 크면 올리고, 5보다 작으면 내리고,

5일 경우, 앞자리가 홀수면 올림, 앞자리가 짝수면 내림하는 방식입니다.

 

소스코드

c, k = list(map(int, input().split()))
print(int(round(c + 0.1, -k)))

 

오사오입 방식에 유의하여 0.1만큼 더한 후 반올림 연산을 하여 5일때도 올림 처리를 하고,

int형으로 변환해 소숫점을 제거하여야 합니다.

 

 

후기

파이썬으로 반올림을 다룰때 흔히 실수할 수 있는 오사오입에 주의하여 풀어야 합니다.

profile

Uknow's Lab.

@유노 Uknow

인생은 Byte와 Double 사이 Char다. 아무말이나 해봤습니다.