외워두면 편한 함수

DH·2022년 4월 7일
0

coding test

목록 보기
3/10
post-thumbnail

코테 직전에 보려고 만들어놓은 게시글

외워서 시간을 아끼도록 하자.

•진수변환 함수

def convert(n,base):
    arr="0123456789ABCDEF"
    q,r=divmod(n,base)
    
    if q==0:
        return(arr[r])
    else:
        return convert(q,base) + arr[r]

•소수판별 함수
to be updated…

순열,

•조합

def combination(arr, n):
	result = []
	if n == 0:
		return [[]]
	for i in range(len(arr)):
		c = arr[i]
		for j in combination(arr[i + 1:], n - 1):
			result.append([c] + j)
	return result

입출력 예시
arr=[1,2,3,4,5]
n=3
[[1, 2, 3], [1, 2, 4], [1, 2, 5], [1, 3, 4], [1, 3, 5], [1, 4, 5], [2, 3, 4], [2, 3, 5], [2, 4, 5], [3, 4, 5]]

원리: combination([0,1,2,3], 2) = ([0],combination([1,2,3], 1)) + ([1],combination([2,3], 1)) + ([2],combination([3], 1)))

최대공약수,최소공배수

profile
Person

1개의 댓글

comment-user-thumbnail
2022년 4월 9일

자주 업데이트 해주세요 😁

답글 달기