💭 나의 접근 방법 가능한 경우의 수를 나열하여 문제를 어떻게 선택할지 고민하였다. 정해진 범위내에 최선의 선택을 해야하기 때문에 백트래킹이 떠올랐다. N개의 문제들을 나열하고 특정 숫자에서는 합이 R을 초과하게 되는데 이부분 이 후 부터는 백트래킹을 이어하지 않고 중단시키려고 하였다. 그런데 문제를 보니 N이 15개로 제한되어있어서 끝까지 수행해도 되겠다 싶었고, 백트래킹의 기본 틀대로 문제를 풀었다. 💡 결과 # 16938 캠프준비 G5 import sys input = sys.stdin.readline N,L,R,X = map(int,input().split()) arr = map(int,input().split()) arr = sorted(arr) answer = 0 def backtrack(st..
💭 나의 접근 방법 문제는 조합 문제이다. 조합문제는 하나의 인수를 고른후에 백트래킹을 이용해 다음 인수를 append하여(함수 호출) 원하는 개수에 맞을 때(종료 조건) 조합을 만드는 방식이다. 이를 이용해 문제를 접근하였다. N = 4,M = 2 를 예시로 들면 노란색 화살표가 for 문을 돌고 [1] 백트래킹, 재귀함수를 이용해서 다음 범위에 있는 값들 for 문을 다시 돌게 된다. [1,2] 여기서 종료조건 M = 2 를 맞추므로 백트래킹을 나오고 pop()이 실행되어 [1] 이 된다. 그리고 다음으로 3 이 리스트에 들어가 [1,3]으로 진행된다. 💡 결과 # 15650 N과 M 2 S3 N,M = map(int,input().split()) arr = [i for i in range(1,N+1..