자료구조 및 알고리즘

[알고리즘] 순열, 조합 (파이썬, C++)

콩콩(๓° ˘ °๓)♡ 2023. 3. 15. 14:06
 

조합과 순열 c++ 로 구현

https://yabmoons.tistory.com/99 https://yabmoons.tistory.com/100 저 위 블로그 주소에서 보고 알고리즘 공부중 써먹을곳이 많겠다 싶어서 작성합니다 백준 17281번 문제 푸는데 푸는법은 알겠어.. 근데 순열을 구

foameraserblue.tistory.com

 

 

파이썬으로 순열과 조합 구현하기 (+중복순열, 중복조합)

+ 추가가능한 부분 [순열] 서로 자리를 바꾸어 순열을 만드는 알고리즘으로 시간복잡도 최소화 [조합] n개에서 r개를 택할 때, r의 갯수를 하나씩 줄여가며 재귀로 푸는방식 (nCr = n-1Cr-1 + n-1Cr 활용

ninefloor-design.tistory.com

 

 

[Python] 순열, 조합, 중복순열, 중복조합(itertools를 활용한 구현)

순열, 조합, 중복순열, 중복조합의 정의와 차이를 비교하고 itertool 패키지를 활용해 python으로 구현해본다.

velog.io

 

 

10974번: 모든 순열

N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

def dfs(depth):
    global ans

    if depth == n:
        print(*visited)
    else:
        for i in range(n):
            if i + 1 in visited:
                continue
            visited[depth] = i + 1
            dfs(depth + 1)
            visited[depth] = 0


n = int(input())
visited = [0] * n
dfs(0)

1. 파이썬 풀이 : 백트래킹 참고

 

알고리즘 - 백트래킹(Backtracking)의 정의 및 예시문제

이번에 살펴볼 개념은 백트래킹에 관한 내용입니다.

chanhuiseok.github.io

2. C++ 풀이

 

[백준알고리즘] 10974번: 모든 순열 -C++

[백준알고리즘] 10974번: 모든 순열 -C++ 10974번: 모든 순열 (acmicpc.net) 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicp

suri78.tistory.com