https://www.acmicpc.net/problem/15665
15665번: N과 M (11)
한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해
www.acmicpc.net
문제 해결
이전의 N과M 문제와 비슷하지만 몇 가지 다름
https://thought-process-ing.tistory.com/88
[python] 백준 15664 N과 M (10)
https://www.acmicpc.net/problem/15664 15664번: N과 M (10) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.
thought-process-ing.tistory.com
https://thought-process-ing.tistory.com/87
[python] 백준 15663 N과 M (9)
https://www.acmicpc.net/problem/15663 15663번: N과 M (9) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.
thought-process-ing.tistory.com
우선 같은 수를 여러번 사용 가능하지만 여러번 출력은 불가능 => [1, 1] 출력 가능 But 한번만 출력 가능 [1, 2] 출력 가능
사실 입력값에 같은 수가 있던가 없던가 상관이 없음. => 입력값으로 원소를 받는 리스트를 집합(set)으로 만든 후 다시 리스트로 만들어도 됨(자연스럽게 중복을 잡을 수 있다.)
오름차순 출력이므로 리스트를 sort() 시킨다.
CODE
import sys
input = sys.stdin.readline
def dfs(num):
if len(num) == m:
print(*num)
return
for i in A:
num.append(i)
dfs(num)
num.pop()
if __name__=="__main__":
n, m = map(int, input().split())
A = list(set(list(map(int, input().split()))))
A.sort()
num = []
dfs(num)
'알고리즘 > [python] 백준 BOJ' 카테고리의 다른 글
[python] 백준 10972 다음 순열 (0) | 2023.01.07 |
---|---|
[python] 백준 15666 N과 M (12) (0) | 2023.01.06 |
[python] 백준 9372 상근이의 여행 (1) | 2023.01.05 |
[python] 백준 15664 N과 M (10) (1) | 2023.01.05 |
[python] 백준 15663 N과 M (9) (0) | 2023.01.04 |
댓글