개발 노트/알고리즘 문제

백준 2745 진법 변환

LeeInGyu 2025. 3. 23. 22:49

백준 2745 진법 변환

링크: 2745 진법 변환


접근 방법

  • 아스키 코드를 사용해서 변환
  • A가 65 이므로 -55를 하면 10이 됨

소스 코드 1

소스 코드 1: 91887227 제출

# 입력
B, N = input().split()
N = int(N)

# 10진법으로 변환
value = 0
for digit, b in enumerate(B[::-1]):
    try:
        value += int(b) * (N**digit)
    except:
        value += (ord(b)-55) * (N**digit)

print(value)

결론

  • ord() 를 사용해 아스키 변환하는 것은 직관적이진 않다.
  • 아스키 변환을 할 수 있는 경우와 아닌 경우 예외 처리 해주는 것이 중요할 듯
728x90
반응형