문제
정답 소스코드 (Python)
N=int(input())
def permutation(n,r,temp=[]):
if r==0:
return print(*temp)
else:
for i in range(1,n+1):
if i not in temp:
temp.append(i)
permutation(n,r-1,temp)
temp.remove(i)
permutation(N,N)
풀이 (Python)
간단한 기본 문제로서 순열을 구현할 수 있으면 쉽게 풀 수 있는 문제이다.
직접 순열을 구현해봄으로써 재귀구조와 브루트포스에 공부가 되는 문제이기도 하다.
파이썬은 언어 특성상 itertools 라이브러리에서 순열과 조합을 간단히 구현해 주기에 순열을 직접구현 없이 간단하게 풀이할 수 있다.
- 정답 소스코드 ( itertools사용)
from itertools import permutations
n=int(input())
result=list(permutations([i for i in range(1,n+1)],n))
for ele in result:print(*ele)
'Baekjoon' 카테고리의 다른 글
[백준] 2631번 줄 세우기 (파이썬) (1) | 2024.01.28 |
---|---|
[백준] 2503번 숫자 야구 (파이썬) (1) | 2024.01.28 |
[백준] 2309번 일곱 난쟁이 (파이썬) (1) | 2024.01.23 |
[백준] 4485번 녹색 옷 입은 애가 젤다지? (파이썬) (0) | 2024.01.23 |
[백준] 13549번 숨바꼭질 3 ( 파이썬) (2) | 2024.01.22 |