백준 15655 파이썬
문제
N 과 M (6)
풀이
백트래킹 연습용 문제를 하나하나 풀어보면서 감을 익혀보자
이 문제에서 중요한 점은 다음과같다.
- 오름차순
- M개를 고르는 수열
오름차순이기 때문에 정렬 을 먼저 한 다음에 배열에서 순서대로 탐색한다.
재귀함수 를 이용하여 조건에 맞는 경우 정답배열에 한 개 씩 추가하여 배열 원소의 갯수가 M이 되는 경우에만 출력한다.
정답 코드
#N과M (6)
# N개중에 M개 고른 수열
# 오름차순
N,M=map(int,input().split())
lst=list(map(int,input().split()))
def solve(num,start,ans):
if len(ans)==num:
for i in ans:
print(lst[i],end=' ')
print()
return
for i in range(start+1,len(lst)):
solve(num,i,ans+[i])
lst.sort()
for i in range(N):
solve(M,i,[i])
결과 정답
Author And Source
이 문제에 관하여(백준 15655 파이썬), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@chuneeeee/백준-15655-파이썬저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)