728x90
백준 문제 사이트
N과 M[9], N과 M[10], N과 M[11], N과 M[12]
중복된 원소가 포함되기도 한 N개의 자연수가 주어졌을 때,
M개의 순열, 조합, 중복 순열, 중복 조합을 구하는 문제
N과 M[7, 8]리뷰
https://savvy0402.tistory.com/192
dict.fromkeys$($딕셔너리의 키 값들, 현재 생성할 딕셔너리의 일괄적으로 들어가게 될 값$)$
값을 안 넣으면 모든 key의 값이 None으로 저장됨
N과 M[9]
from sys import stdin
from itertools import permutations
input = stdin.readline
N, M = map(int, input().split())
s = sorted(input().rstrip().split(), key=int)
# print("\n".join(map(" ".join, {pm:None for pm in permutations(s, M)})))
print("\n".join(map(" ".join, dict.fromkeys(permutations(s, M)))))
N과 M[10]
from sys import stdin
from itertools import combinations
input = stdin.readline
N, M = map(int, input().split())
# 주어진 값은 문자로 유지하지만, key에 int를 넣어서 숫자인 것처럼 정렬
s = sorted(input().rstrip().split(), key=int)
print("\n".join(map(" ".join, {cm:None for cm in combinations(s, M)})))
# print("\n".join(map(" ".join, dict.fromkeys(combinations(s, M)))))
# 처음부터 숫자로 저장하는 코드
# s = map(int, input().split())
# for cb in sorted(set(combinations(sorted(s), M))):
# print(*cb)
N과 M[11]
from sys import stdin
from itertools import product
input = stdin.readline
N, M = map(int, input().split())
# s = sorted(input().rstrip().split(), key=int)
# print("\n".join(map(" ".join, {pm:None for pm in product(s, repeat=M)})))
# print("\n".join(map(" ".join, dict.fromkeys(product(s, repeat=M)))))
s = sorted(set(input().rstrip().split()), key=int)
print("\n".join(map(" ".join, product(map(str, s), repeat=M))))
N과 M[12]
from sys import stdin
from itertools import combinations_with_replacement
input = stdin.readline
N, M = map(int, input().split())
# s = sorted(input().rstrip().split(), key=int)
# print("\n".join(map(" ".join, {cm:None for cm in combinations_with_replacement(s, M)})))
# print("\n".join(map(" ".join, dict.fromkeys(combinations_with_replacement(s, M)))))
s = map(int, input().split())
for cb in sorted(set(combinations_with_replacement(sorted(s), M))): print(*cb)
# s = sorted(set(input().rstrip().split()), key=int)
# print("\n".join(map(" ".join, combinations_with_replacement(map(str, s), M))))
'IT > Python' 카테고리의 다른 글
[백준] 11053번 가장 긴 증가하는 부분 수열 [Python] - 다이나믹, LIS (0) | 2023.10.19 |
---|---|
[백준] 14500번 테트로미노 [Python] - BFS, DFS (1) | 2023.10.19 |
[백준] 9019번 DSLR [Python] - BFS (0) | 2023.10.18 |
[백준] 16928번 뱀과 사다리 게임 [Python] - BFS (2) | 2023.10.12 |