순열과 조합

김종혁·2022년 10월 2일
0

알고리즘

목록 보기
2/7

1. itertools 사용 하지 않고 순열과 조합 만들기

# 첫번째 방법

li = [1,2,3]
r = 2
def perm(idx):
	
    if idx == r:
    	print(li)
    else:
      for i in range(idx, r):
          li[idx], li[i] = li[i], li[idx]
          perm(idx+1)
          li[idx], li[i] = li[i], li[idx]
        
perm(0)

# 
# 두번째 방법

li = [1, 2, 3]
r = 2
value = [0] * r
check = [0] * (r)

def perm(idx):

    if idx == r:
        print(value)
    else:
        for i in range(r):
            if check[i] == 0:
                value[idx] = li[i]
                check[i] = 1
                perm(idx + 1)
                check[i] = 0
perm(0)

2. itertools활용

from itertools import permutations

li = [1, 2, 3]
r = 2
for i in permutations(li,2):
    for j in list(i):
        print(j)
profile
세상을 한 걸음씩 발전시키고 싶습니다.

0개의 댓글