Development Artist

[COS Pro 1급, Python] 5차 6번 : p진법 to q진법 본문

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
반응형
Comments