Baekjoon15663 - N과M(9) (Python)
백준 사이트 15663 - N과M (9) 문제입니다.
이 글을 보시기 전에 문제를 풀기 위해 충분한 생각을 하셨나요? 답을 안 보고 푸는게 최대한 고민하는게 가장 중요하다고 생각합니다.!!
☑️ 1. 문제
https://www.acmicpc.net/problem/15663
☑️ 2. Input , Output
☑️ 3. 분류 및 난이도
solved.ac class 4 문제입니다.
☑️ 4. 생각한 것들
- 기존 문제에서 추가된 사항은 사전순 + 중복x + 데이터 입력은 중복이 가능하다는 점입니다.
- 이를 확인하기 위해서
dictionary
자료형을 사용하였고 결과를 도출하였습니다.
5. code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from sys import stdin
def recur(listed: list, m: int):
pick = []
size = len(listed)
visit = [False] * size
dict = {}
def combination():
pick_data = ' '.join(map(str, pick))
if len(pick) == m:
dict[pick_data] = 1
else:
for i in range(size):
if visit[i] == True:
continue
pick.append(listed[i])
visit[i] = True
combination()
visit[i] = False
pick.pop()
combination()
for key, item in dict.items():
print(key)
def solution():
n, m = map(int, stdin.readline().split())
input_list = list(map(int, stdin.readline().split()))
recur(sorted(input_list), m)
solution()
6. 후기
c++로 작성이 필요하거나 도움이 필요하시면 댓글을 작성해주세요.!! 기록용이라 설명이 자세하지 않습니다.
This post is licensed under CC BY 4.0 by the author.