Post

Baekjoon15652-N과 M(4)

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

☑️ 1. 문제

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


☑️ 2. Input , Output


☑️ 3. 분류 및 난이도

코딩테스트 준비 - 기초 문제입니다.


☑️ 4. 생각한 것들

  • 파이썬 라이브러리에 지원하는 기능이 없어서 직접 작성하기로 했습니다.
  • 이전문제와 비슷한 방식이지만 중복된 순열이 나오면 안된다는 조건이 추가되어 뒤에 추가되는 숫자가 앞의 숫자보다 작지 않게 조건을 걸어주어 해결했습니다.

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
n, m = map(int, input().split())


def solution(li, m):
    size = len(li)
    pick = []

    def recur():
        if (len(pick) == m):
            for idx in pick:
                print(idx, end=" ")
            print("\n", end="")
            return

        for i in range(1, size + 1):
            if len(pick) != 0:
                if pick[-1] > i:
                    continue
            pick.append(i)
            recur()
            pick.pop()

    recur()


li = list(range(1, n + 1))

solution(li, m)



6. 후기

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

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