Algorithm/COS
[COS Pro 1급, Python] 5차 6번 : p진법 to q진법
JMcunst
2022. 2. 28. 17:09
728x90
반응형
문제 유형
코딩
난이도
normal
Note
1. convert 함수 매우 중요. 완벽한 숙지 필요. num : 숫자, base : 진법
2. string.digits+string.ascii_lowercase = 0123456789abcdefghijklmnopqrstuvwxyz
3. 그리고 파이썬은 int('str',2) 이면 str을 2진법으로 변환, int('str',3)이면 3진법으로 변환 할 수 있다. 다만, 최대한계(?)가 있는 것으로 보인다. int('100',2)는 되고 int('160',2)는 안되고...(코테 하다가 당황.)
Code
# -*- coding: utf-8 -*-
# UTF-8 encoding when using korean
import string
tmp = string.digits+string.ascii_lowercase
def convert(num, base):
q, r = divmod(num, base)
if q == 0:
return tmp[r]
else:
return convert(q,base) + tmp[r]
def solution(s1, s2, p, q):
sum_num = int(s1,p) + int(s2,p)
return convert(sum_num, q)
s1 = "112001"
s2 = "12010"
p = 3
q = 8
ret = solution(s1, s2, p, q)
print("solution 함수의 반환 값은", ret, "입니다.")
※ 가끔 코드 중 print(~)가 있습니다. 정리 못한 점 죄송합니다.
728x90
반응형