백준 1475번: 방 번호


문제 설명

  • 숫자X를 만들기 위해 몇 개의 숫자세트가 필요한지 구하는 문제입니다.
  • 단 6과9는 서로 swap이 가능합니다.

접근법

  • 6과9를 하나의 숫자로 count합니다.
    • 저는 6을 9로 취급했습니다.
  • 9가 X개 필요하다면 ceil(X/2)개의 묶음이 필요합니다.

정답

word = input()
lst = [0]*10 #각 숫자가 필요한 개수를 담을 list입니다.

for w in word: 
	#6을 9로 취급했습니다.
    if w =="6":
        lst[9] +=1
    else:
        lst[int(w)] +=1

#9는 한 묶음에 2개를 얻을 수 있기 때문에 올림을 적용한 절반 만큼의 묶음만 구매하면 됩니다.
div,mod = divmod(lst[9],2)
if mod!=0:
    div+=1
lst[9] = div

print(max(lst))

좋은 웹페이지 즐겨찾기