문제 링크 : https://www.acmicpc.net/problem/10974
N 을 입력받아 순열을 출력하는 프로그램입니다.
사전 순으로 출력해야하기 때문에 swap 을 이용한 순열 대신 visited 배열로 방문을 체크하는 DFS 방법을 사용하였습니다.
순열에 대한 이전 포스팅 https://bcp0109.tistory.com/14
arr : 순열을 만들 배열
output : 순열을 만든 후 배열
visited : 방문 체크
depth : dfs 깊이
이렇게 4개의 값을 사용하였고, n개중에서 r개를 뽑는 순열을 구현하였습니다.
문제에서 원하는건 n개 중 n개를 뽑는 경우밖에 없으므로 nPn 만 하시면 됩니다.
'알고리즘 문제 > 백준' 카테고리의 다른 글
백준 1182번. 부분집합의 합 (Java, Python) (2) | 2018.12.27 |
---|---|
백준 2309번. 일곱 난쟁이 (Java) (0) | 2018.12.27 |
백준 2573번. 빙산 (Java) (2) | 2018.12.22 |
백준 7576번. 토마토 (Java) (0) | 2018.12.20 |
백준 1436번. 영화감독 숌 (Java) (0) | 2018.12.18 |