BackTracking(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_파이썬_Fail_미해결]백준_14888번_연산자 끼워넣기_백트레킹_풀이
공부하는허딩크 : https://www.youtube.com/live/WSAIqn6prZQ?feature=shared총 1시간 이상 고민한 것 같은데 아직 해결을 못했다.어떻게 백 트레킹으로 구현해야하는지도 감이 잡히지 않는다.eval()을 활용해서 연산의 결과 값을 구하는 코드를 작성하였다.※ 이 문제의 조건은 일반적인 연산 법칙을 따르는 것이 아닌 순서대로 연산을 하는게 주요 포인트이다. => 그래서 틀림.#첫번째 시도 : 연산자를 순서대로 계산하는 조건 불만족N = int(input())nums = list(map(int, input().split()))oper_num = list(map(int, input().split()))oper = ["+", "-", "*", "//"]new_oper = [..
2024.08.26 -
[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