백준 문제풀이/수학

[백준] 2745 진법 변환 - python

peach_h 2022. 11. 11. 16:30

2745번: 진법 변환 (acmicpc.net)

 

2745번: 진법 변환

B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 

www.acmicpc.net

 

풀기 위한 나의 노력 . . !!!

문제를 이해하고 수식으로 풀어내보려고 노력했다

다행히 통과 !

num = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
x, b = map(str,input().split())
x = x[::-1]
result = 0

for i in range(len(x)):
    result += (int(b)**i)*(num.index(x[i]))
    
print(result)

 

 

but . . 파이썬은 알아서 진법을 풀어주는 기능이 있었다.

 

[백준] #2745 진법 변환 (python) (tistory.com)

 

[백준] #2745 진법 변환 (python)

https://www.acmicpc.net/problem/2745 2745번: 진법 변환 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다.

yuna0125.tistory.com

n, b = map(str,input().split())

print(int(n,int(b)))

int를 사용하면 알아서 입력된 b진법을 10진법으로 숫자를 풀어준다  . . 

그래도 아직 공부를 시작한 단계니까 ~

직접 풀려고 계속 노력해보겠다.