728x90
문제 링크: https://www.acmicpc.net/problem/15649
15649번: N과 M (1)
한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해
www.acmicpc.net
최근에 배운 itertools 라이브러리 덕분에 쉽게 문제 아이디어를 캐치할 수 있었다!
순열!! itertools.permutations!!
❓ 정답은 ??
1
2
3
4
5
6
7
8
9
10
|
#순열 라이브러리 알고있으면 겁나 쉬운 문제!
# m개 중 n개 뽑기! 순서상관있음!
import itertools
m,n=map(int,input().split())
result=itertools.permutations(range(1,m+1),n)
for i in result:
print(*i) #안에 든거가 하나씩 나와야하니까
|
cs |
💯 풀이 과정
문제를 보면 m개 중에 n개 뽑는 것과 같다!
예제 입력 2에서 result를 그냥 반복문 출력해본다면, result가 아래와 처럼 있을 것이다.
(1, 2)
(1, 3)
(1, 4)
(2, 1)
(2, 3)
(2, 4)
(3, 1)
(3, 2)
(3, 4)
(4, 1)
(4, 2)
(4, 3)
이 위에 것들을 각 요소 하나씩 뽑아야하니까 i 앞에 *을 넣는다!
이 때 *별표의 쓰임은 순회하면서 출력할 때 의미!
아래 사이트에서 4번째 방법에 해당된다!
참고사이트:https://mingrammer.com/understanding-the-asterisk-of-python/
파이썬의 Asterisk(*) 이해하기
파이썬은 타 언어에 비해 비교적 연산자 및 연산의 종류가 풍부한 편이다. 특히 파이썬이 지원하는 많은 연산자중 하나인 **Asterisk(*)**는 단순히 곱셈
mingrammer.com
😎오늘의 한줄평: 간단하게 쓰려면 역시나 라이브러리를 많이 익히자!
728x90
'😁 빅데이터 문제 풀기 & Study > - BAEKJOON 문제' 카테고리의 다른 글
[2331] 분해합 / 파이썬 (이렇게 무식하게 하나하나 대입하는거라고?) (0) | 2021.11.30 |
---|---|
[10845] 큐 / 파이썬 (deque 사용하기) (0) | 2021.11.29 |
[4948] 베르트랑 공준 / 파이썬 (다시풀어보기) (0) | 2021.11.24 |
[4948] 베르트랑 공준 / 파이썬 (에라토스테네스의 체,리스트컴프리핸션) (0) | 2021.11.23 |
[2609] 최대공약수와 최소공배수/ 파이썬 (배웠던거 써먹기) (0) | 2021.11.22 |