백트래킹(4)
-
★복습필요[python_파이썬_Half Pass]백준_1182번_부분수열의합_백트래킹_풀이
공부하는허딩크 : https://www.youtube.com/live/H0kM09bxI4I?feature=shared※부분수열의 정의 => 부분수열이라는 조건을 받으면 아래의 조건을 생각해야함.주어진 수열에서 순서를 유지하면서 일부 원소를 선택하여 만든 새로운 수열을 의미한다.1. 순서 유지 : [1, 2, 3]이라면 [2, 1]은 부분수열이 될 수 없다.2. 중복 선택 불가 일단 itertools.combinations로 해결했다.중간에 오류가 있었는데 nums 변수를 받을 때 list()로 만들지 않아서 계속 오류가 났다.list변수를 만들어 줘야 제대호 작동한다.import sysimport itertoolsinput = sys.stdin.readlineN, S = map(int, input().s..
2024.09.02 -
[python_파이썬_Pass]백준_15652번_N과 M(4)_백트래킹_풀이
공부하는허딩크 : https://www.youtube.com/live/Q8BKRFH8mW0?feature=shared이번에도 itertools와 재귀함수를 활용해서 해결해보자 라이브러리를 활용하면 정말 깔끔한 코드가 만들어 진다.import sysfrom itertools import combinations_with_replacement as cwrinput = sys.stdin.readlineN, M = map(int, input().split())nums = list(i for i in cwr(range(1, N + 1), M))for num in nums: print(*num) cwr([], 조건)을 어떻게 줄까 조금 고민했으나 중복이 허용되므로 i로 조건을 걸었다.import sysinput..
2024.08.25 -
[python_파이썬_Pass]백준_15651번_N과 M(3)_백트래킹_풀이
공부하는허딩크 : https://www.youtube.com/live/Q8BKRFH8mW0?feature=shared백트레킹 문제를 1번과 2번을 통해서 itertools를 활용해서 해결하는 방법과 재귀함수를 활용해서 해결하는 방법을 복습하면서 정리했다.1. itertools.permutations()와 재귀 활용 : https://heodinkcodingdiary.tistory.com/88 [python_파이썬_Half Pass]백준_15649번_N과 M(1)_백트래킹_풀이공부하는허딩크 : https://www.youtube.com/live/zD3naTrHxto?feature=shared ※ 백트레킹으로 문제를 해결하는 것인데 일단 itertools.permutations로도 해결이 가능하다.즉, 같은..
2024.08.25 -
[python_파이썬_Half Pass]백준_15649번_N과 M(1)_백트래킹_풀이
공부하는허딩크 : https://www.youtube.com/live/zD3naTrHxto?feature=shared ※ 백트레킹으로 문제를 해결하는 것인데 일단 itertools.permutations로도 해결이 가능하다.즉, 같은 내용이다. 라이브러리를 활용해서 순열을 구해서 해결할 것인지, 아니면 백트레킹으로 함수를 만들어서재귀함수로 순열을 만들 것인지...일단 백트레킹을 중점적으로 연습해보자! 수열 문구가 있어서 itertools로 풀었다.※여기서 복습itertools의 활용 : https://heodinkcodingdiary.tistory.com/21 [python_파이썬]itertools 학습_순열(permutions)과 조합(combinations)_풀이공부하는허딩크 : https://www..
2024.08.19