[백준/파이썬] 1284번 집 주소 풀이

업데이트:



문제 정보


풀이

문제

집 주소 숫자를 표현할 때 필요한 판의 너비를 계산하는 문제입니다.

각 숫자 너비:

  • 1은 2
  • 0은 4
  • 그 외 숫자는 3

숫자 사이 공백과 양쪽 여백도 포함합니다.

코드

import sys;read=sys.stdin.readline
def t(n):
    n=int(n)
    if n==1:return 2
    return 3 if n>0 else 4
while True:
    l=list(map(t,read()[:-1]))
    if l==[4]:break
    print(len(l)+1+sum(l))

설명

각 문자(숫자)를 너비로 매핑한 뒤,

  • 숫자 너비 합 sum(l)
  • 숫자 사이 간격 개수 + 양쪽 여백(len(l)+1)

를 더해 총 너비를 구합니다.

입력 0이 나오면 종료합니다.



댓글남기기