언젠가는

(파이썬) 백준 2745번 진법 변환 파이썬 풀이 본문

IT/코딩

(파이썬) 백준 2745번 진법 변환 파이썬 풀이

new1life 2022. 8. 13. 12:58

백준 2745번

 

풀이

1.
a에 문자열로 0부터 Z까지 만들어 준다. 11부터는 A , 35는 Z라서 인덱스로 찾을 수 있다.
a = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
 
2.
b에 진법 c에 진법의 수를 넣는다. b가 int형이 아닐 수 있으므로, input().split()만 한다.
b, c = input().split()
 
3.
2진법을 10진법을 바꿀 때를 생각해 보면 가장 왼쪽부터 제곱근을 줄여가면서 더하는데
나는 생각하기 편하게 순서를 반대로 바꾸어 주었다.
b = b[::-1]
 
4. ans변수에 더해줄 것이다.
ans=0
 
5. for문을 돌려서 더해준다.
find를 사용하면 받은 값의 인덱스값을 알려준다. 그리고, 변수 c를 int로 바꾸어 주어야 한다.
for i in range(len(b)):
  ans+=a.find(b[i])*int(c)**i

print(ans)
Comments