BOJ/백준-1475-python

cosmos·2021년 3월 19일
3
post-thumbnail

문제📖

풀이🙏

  • 다솜이는 플라스틱으로 이상한짓을 할라한다.
  • 첫째 줄에 다솜이의 방 번호 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 함수를 사용하면 수학의 올림을 구현할 수 있다.

코드💻

# boj, 1475 : 방 번호, python
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

0개의 댓글