[백준 알고리즘] N과 M (12) (Python / 파이썬)

2024. 1. 28. 18:18·알고리즘/백준
문제 링크
 

15666번: N과 M (12)

한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해

www.acmicpc.net

 

문제 접근

set과 정렬을 이용해서 중복된 수가 없는 오름차순을 만들어주고

순서대로 함수를 호출하고 내부적으로 재귀호출한다.

 

정답 코드
# 15666번: N과 M (12)

import sys


def func(select):
    if len(select) == m:
        print(*select)
        return
    for j in range(len(a)):
        if a[j] >= select[-1]:
            select.append(a[j])
            func(select)
            select.pop()


n, m = map(int, sys.stdin.readline().split())
a = set(map(int, sys.stdin.readline().split()))
a = list(a)
a.sort()


for i in range(len(a)):
    func([a[i]])

저작자표시 (새창열림)

'알고리즘 > 백준' 카테고리의 다른 글

[백준 알고리즘] 1926번: 그림 (Python / 파이썬)  (1) 2024.02.19
[백준 알고리즘] 16987번: 계란으로 계란치기 (Python / 파이썬)  (1) 2024.01.28
[백준 알고리즘] N과 M (11) (Python / 파이썬)  (0) 2024.01.28
[백준 알고리즘] 1759번: 암호 만들기 (Python / 파이썬)  (2) 2024.01.25
[백준 알고리즘] 6603번: 로또 (Python / 파이썬)  (0) 2024.01.24
'알고리즘/백준' 카테고리의 다른 글
  • [백준 알고리즘] 1926번: 그림 (Python / 파이썬)
  • [백준 알고리즘] 16987번: 계란으로 계란치기 (Python / 파이썬)
  • [백준 알고리즘] N과 M (11) (Python / 파이썬)
  • [백준 알고리즘] 1759번: 암호 만들기 (Python / 파이썬)
gyujh
gyujh
개발 공부 블로그
  • gyujh
    규
    gyujh
  • 전체
    오늘
    어제
    • 분류 전체보기 (86)
      • Backend&DB (3)
      • CS (5)
        • 컴퓨터구조 (1)
        • 소프트웨어공학 (4)
      • JavaScript (2)
      • Git (2)
      • 알고리즘 (73)
        • 개념 (3)
        • 백준 (70)
      • Projects (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    정렬
    풀이
    시간초과
    런타임
    구현
    알고리즘
    재귀
    답안
    딕셔너리
    백준
    스택
    문자열
    숏코딩
    BOJ
    에러
    답
    algorithm
    정답
    너비우선탐색
    프로그래머스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
gyujh
[백준 알고리즘] N과 M (12) (Python / 파이썬)
상단으로

티스토리툴바