1475. 방번호 - 숫자 올림, 내림, 반올림
문제
다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.
다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최소값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)
입력
첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다.
출력
첫째 줄에 필요한 세트의 개수를 출력한다.
예제 입력
9999
예제 출력
2
곰가드의 코드
a = input()
a = a.replace('6','9')
res = 0
for i in range(10):
cnt = a.count(str(i))
if i == 9:
cnt = int(cnt/2)+cnt%2
if res < cnt:
res = cnt
print(res)
참고할 파이썬 코드
1. 기본 제공함수
버림 - int 사용
int(3.5) -> 3
반올림, 올림 - round 사용
파이썬의 round 반올림은 우리가 일반적으로 아는 반올림과 차이가 있습니다.
round( 0.5 ) = 0
round( 1.5 ) = 2
round( 2.5 ) = 2
round( 3.5 ) = 4
round( 4.5 ) = 4
round( 5.5 ) = 6
round( 6.5 ) = 6
round( 7.5 ) = 8
round( 8.5 ) = 8
round( 9.5 ) = 10
끝자리가 0.5 일 경우 결과값이 짝수가 되도록 올리거나 내림을 진행합니다. 그 외의 경우에는 일반적인 반올림 처럼 진행합니다.
파이썬에서는 기본적으로 제공하는 올림함수는 없습니다. 따라서 기존 round 함수를 응용하여 올림의 효과를 만들어내야 합니다.
round( a + 0.5 ) 를 사용해서 올림의 효과를 만들어 냅니다.
round( 0.4 ) = 0 -> round( 0.4 + 0.5 ) = 1
round( 0.8 ) = 1 -> round( 0.8 + 0.5 ) = 1
- 2. math 라이브러리 사용하기
- 파이썬에는 math 라는 라이브러리가 있습니다. 수학 계산관련 함수들을 제공하는데요, 그 중에 floor, ceil, round 함수가 있습니다. floor 는 버림, ceil 은 올림, round 는 반올림 함수 입니다.
- import math
- math.floor( 3.8 ) -> 3
- math.ceil( 3.3 ) -> 4
- math.round( 3.3 ) -> 3