문제📖
풀이🙏
- 다솜이는 플라스틱으로 이상한짓을 할라한다.
- 첫째 줄에 다솜이의 방 번호 N이 주어진다.
- 한 세트에는 0번부터 9번까지 숫자가 한개씩 있다.
- 필요한 세트의 최솟값을 출력하라.
- 6 -> 9, 9 -> 6으로 변환해 사용가능하다.
- 첫째 줄에 필요한 세트의 개수를 출력하라.
-> 처음에 수를 list
를 사용해 입력받으면 각 자리수 별로 분할해 값을 나눠서 관리 할 수 있다.
-> any
를 사용하면 any
안의 요소들 중 적어도 하나라도 참일 시,True
가 반환된다.
-> 필요한 세트의 최솟값 출력은 기존 9999는 4세트, 9를 6으로 변환하면 2세트로 변환 할 수 있기때문에 min
이아닌 max
를 이용하여 구한다.
-> 만일 list 요소 중에 6이나 9 가 있으면 0.5를 추가 (0.5가 아닌 다른 수여도 range(0,1)사이인 소수이기만 하면 된다.)
-> math
모듈의 ceil
함수를 사용하면 수학의 올림
을 구현할 수 있다.
코드💻
import sys
import math
def Room_number(N):
dasom = [0] * 9
for n in N:
if any((n == 6, n == 9)):
dasom[5] += 0.5
else:
dasom[n] += 1
answer = math.ceil(max(dasom))
return answer
N = list(map(int, str(input())))
print(Room_number(N))
결과😎
출처 && 깃허브📝
https://www.acmicpc.net/problem/1475
github