Post

Baekjoon15657 - N과M (8) (Python)

백준 사이트 15657 - N과M (8) 문제입니다.

이 글을 보시기 전에 문제를 풀기 위해 충분한 생각을 하셨나요? 답을 안 보고 푸는게 최대한 고민하는게 가장 중요하다고 생각합니다.!!

☑️ 1. 문제

https://www.acmicpc.net/problem/15657


☑️ 2. Input , Output


☑️ 3. 분류 및 난이도

solved.ac class 4 문제입니다.


☑️ 4. 생각한 것들

  • N과 M시리즈의 8번째로 특이 사항으로 중복이 가능하다는 점과 오름차순 정렬을 해야한다는 것입니다.
  • 위 조건만 맞춰준다면 큰 어려움없이 풀 수 있습니다.

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
from sys import stdin


def recur(num_list: list, m: int):
    pick = []

    def combination():
        if m == len(pick):
            print(' '.join(map(str, pick)))
        else:
            for i in range(len(num_list)):
                if len(pick) != 0 and (pick[-1] > num_list[i]):
                    continue
                pick.append(num_list[i])
                combination()
                pick.pop()

    combination()


def solution():
    n, m = map(int, stdin.readline().split())
    num_list = list(map(int, stdin.readline().split()))
    recur(sorted(num_list), m)


solution()



6. 후기

c++로 작성이 필요하거나 도움이 필요하시면 댓글을 작성해주세요.!! 기록용이라 설명이 자세하지 않습니다.

This post is licensed under CC BY 4.0 by the author.