15666번: N과 M(12)

2024. 4. 9. 17:02· 알고리즘/백준
728x90
 

15666번: N과 M (12)

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

www.acmicpc.net

 

백트래킹 문제다.

이번 조건은 

 

같은 수를 여러번 골라도 되고,

비내림차순 수열이어야 한다는 것이다.

여기서 같은 수라는 것은 같은 인덱스에 있는 수를 의미한다.

그러므로 visited 리스트를 사용할 필요가 없다.

 

그리고 backTracking함수의 인자로 현재 탐색한 인덱스를 넘겨줘서

다음 backTracking시 for문의 시작값으로 넣어줘서 비내림차순으로 만들어준다.

 


# 15666번: N과 M (12)

n, m = map(int, input().split())
arr = sorted(list(map(int, input().split())))

result = []

def backTracking(num):
    if len(result) == m:
        print(*result)
        return
    
    remember = 0
    for i in range(num, n):
        if arr[i] != remember:
            result.append(arr[i])
            remember = arr[i]
            backTracking(i)
            result.pop()


backTracking(0)
728x90

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

6603번: 로또  (0) 2024.04.12
1182번: 부분 수열의 합  (0) 2024.04.09
15665번: N과 M(11)  (0) 2024.04.09
15664번: N과 M(10)  (0) 2024.04.09
15663번: N과 M(9)  (0) 2024.04.04
'알고리즘/백준' 카테고리의 다른 글
  • 6603번: 로또
  • 1182번: 부분 수열의 합
  • 15665번: N과 M(11)
  • 15664번: N과 M(10)
happenundo
happenundo
happenundo
2023~ 개발블로그
happenundo
전체
오늘
어제
  • 분류 전체보기 (207)
    • TIL (3)
    • 알고리즘 (188)
      • 프로그래머스 (47)
      • 백준 (69)
      • 파이썬 문법 (11)
      • 이것이 코딩테스트다 (46)
      • 알고리즘 노트 (6)
      • SQL (8)
    • Spring (4)
      • Spring 입문 (2)
      • 개인 프로젝트 (1)
      • 인텔리제이 (1)
    • CS (8)
      • DB (2)
      • 네트워크 (1)
      • 그외 (5)
    • ~2022 (1)
    • etc (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 플로이드워셜
  • deepcopy
  • 파이썬
  • 완전탐색
  • 프로그래머스
  • 알고리즘
  • DP
  • 그리디
  • 다익스트라
  • 동적프로그래밍
  • 큐
  • 이것이코딩테스트다
  • 백준
  • 다이나믹프로그래밍
  • CS
  • 재귀
  • 정렬
  • BinarySearch
  • 이진탐색
  • sql
  • 구현
  • 우선순위큐
  • 최단거리
  • 스택
  • dfs
  • 이코테
  • distinct
  • 괄호변환
  • BFS
  • 백트래킹

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
happenundo
15666번: N과 M(12)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.