백준 2745번 문제 바로가기

내 제출

num, base = input().split()

ref = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
ans = 0
len = len(num) - 1

for i in num:
  ans += ref.find(i) * (int(base) ** len)
  len -= 1

print(ans)

고수의 풀이

s,n=input().split()
print(int(s,int(n)))

CODE REVIEW

  1. 아니 두 줄로 이게 가능하다고?! 내 풀이가 초라해지는 순간이었다. ㅜㅜ
    • python int에 내제된 진법 전환 기능을 활용하면 훨씬 간편하다.
    • 진법 전환의 사용 빈도가 높아서 기본 제공되는 듯하다.
  2. 그렇더라도 ref라는 string에서 index을 읽어다가 답을 구하는 방법도 좋은 생각이니까 좌절하지 않기!