[백준/파이썬] 1864번 문어 숫자 풀이

업데이트:



문제 정보


풀이

문제

특수 기호로 표현된 8진수 형태 숫자를 10진수로 변환하는 문제입니다. 입력이 #이면 종료합니다.

코드

while True:
    a=input()
    if a=='#':break
    a=list(map(lambda c:{'-':0,'\\':1,'(':2,'@':3,'?':4,'>':5,'&':6,'%':7,'/':-1}[c],a))
    s=0
    for i in range(len(a)):s+=a[len(a)-i-1]*8**i
    print(s)

설명

기호를 값으로 매핑한 뒤 뒤에서부터 자리값(8^i)을 곱해 합산하면 10진수 값을 얻을 수 있습니다.



댓글남기기