15665번: N과 M(11)

2024. 4. 9. 15:51· 알고리즘/백준
728x90
 

15665번: N과 M (11)

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

www.acmicpc.net

 

이전 문제에서 다른 점은 중복이 허용된다는 점이다.

여기서의 중복은 수열의 중복이 아니라, 같은 인덱스의 수가 들어갈 수 있다는 것이다.

 


# 15665번: N과 M (11)

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

result = []

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

backTracking(0)

 

 

visited 리스트를 사용해 같은 인덱스의 수가 들어갈 수 있도록 하던 로직을 없애주면 된다.

그리고 backTracking함수의 인자는 depth를 넣어줘서 depth가 m과 같아질 경우 정답을 출력하고 해당 backTracking문을 빠져나온다.

파라미터 없이, result의 길이가 m과 같은 경우 정답을 출력하는 식으로 코드를 바꿀 수도 있다.

728x90

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

1182번: 부분 수열의 합  (0) 2024.04.09
15666번: N과 M(12)  (0) 2024.04.09
15664번: N과 M(10)  (0) 2024.04.09
15663번: N과 M(9)  (0) 2024.04.04
15657번: N과M(8)  (0) 2024.04.04
'알고리즘/백준' 카테고리의 다른 글
  • 1182번: 부분 수열의 합
  • 15666번: N과 M(12)
  • 15664번: N과 M(10)
  • 15663번: N과 M(9)
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)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

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

최근 댓글

최근 글

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

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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