백준

백준 11005 문제풀이 [python]

ys.k 2023. 7. 17. 15:46

포스팅에 앞서 내용이 틀릴 수 있습니다.
해당 부분 지적 감사히 받습니다.

문제를 보자.

직전에 풀었던 진법 변환의 반대버전이다.

 

풀어내는데 어려움은 없었다.

 

하지만 아직도 key를 선언할 때, 하드코딩을 한 게 마음에 걸린다.

 

우선 코드를 보자.

 

코드

b, n = map(int,input().split())
alpha = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'10':'A','11':'B','12':'C','13':'D','14':'E','15':'F','16':'G','17':'H','18':'I','19':'J','20':'K','21':'L','22':'M','23':'N','24':'O','25':'P','26':'Q','27':'R','28':'S','29':'T','30':'U','31':'V','32':'W','33':'X','34':'Y','35':'Z'}
array=[]
while b >= 1 :
    array.append(b%n)
    b //= n
else:
    if b != 0:
        array.append(b)

for i in list(reversed(array)):
    print(alpha[str(i)],end='')

0~9와 A-Z의 값을 순서대로 반복문을 통해 입력해주는 방법을 모르겠다.

 

또한 for문을 두번 사용하여 key값을 설정해 주는 것 또한 해결하지 못했다.

 

이번 문제는 입력값이 많지 않아, 하드코딩이 가능했지만, 추후에 이 문제를 해결해야겠다.