내가 한 solution

num, base = map(int, input().strip().split(' '))

output = 0
for i in range(len(str(num))):
    output += int(str(num)[-1-i])*(base**i)

print(output)

 

 

 

파이썬의 int(x, base = 10)함수는 진법 변환을 지원

num, base = map(int, input().strip().split(' '))

print(int(str(num), base))
  • int(x, radix) : radix 진수로 표현된 문자열 x를 10진수로 변환 후 반환
  • 주의할 점은 첫번째 인자가 무조건 문자열


내가 한 solution

a, b = map(int, input().strip().split(' '))
print(a//b, a%b)

 

divmod 와 unpacking 사용

print(*divmod(a, b))
  • divmod(x, y) -> x를 y로 나눈 몫과, 나머지가 들어있는 tuple을 리턴
  • 무조건 divmod를 사용하는게 좋은 방법은 아님
  • divmod는 작은 숫자를 다룰 때는 a//b, a%b 보다 느림. 대신, 큰 숫자를 다룰 때는 divmod가 더 빠름

unpacking 

  • 여러 개의 객체를 포함하고 있는 하나의 객체를 풀어서 보여주는 것
>> print(divmod(5, 2))
(2, 1) # 튜플 형태의 하나의 객체를 반환

>> print(*divmod(5, 2))
2 1 # 튜플 내 2와 1이라는 int형 객체를 각각 반환

+ Recent posts