Merged
Conversation
learntosurf
approved these changes
Apr 20, 2025
_WeeklyChallenges/W19-[Graph-Backtracking]/Assignment_BOJ_6603_로또.py
Outdated
Show resolved
Hide resolved
YoonYn9915
approved these changes
Apr 20, 2025
Member
YoonYn9915
left a comment
There was a problem hiding this comment.
저도 이번 주 발제, 과제 문제를 풀며 민정님과 비슷한 생각을 했네요.
'다양한 풀이 방식을 비교하면서 문제 해결 방법에 정답은 없고, 목적과 맥락에 따라 적절한 접근법을 선택하는 게 중요하다는 걸 느꼈다.'
로또 문제는 combinations와 backtracking 등 여러 방법으로 풀 수 있지만 조건이 여러개 붙는다는 가정을 해보면 backtracking으로 푸는게 정석인거 같아요.
한주 수고하셨습니다!
zaqquum
approved these changes
Apr 20, 2025
Collaborator
There was a problem hiding this comment.
발제 당시 백트레킹으로 풀 수 있는 건 알았지만 어떻게 구현해야 할지 감이 안 잡혔는데 제공해주신 백트레킹 템플릿과 발제 자료를 통해 확실하게 이해한 것 같습니다. 이번 과제는 담 주에 이어서 풀어오도록 하겠습니다.
좋은 문제 공유해 주셔서 감사합니다.
🔥2025-04 챌린지 진행 상황👉 그래프
👉 DP
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🌱WIL
동전문제는 비슷한 문제를 과거에 풀이했음에도 2시간가량 붙잡아서 좀 현타가 왔다. 처음에 2차원 DP로 접근했고, 최대 범위인 10000 x 10000 배열을 미리 만들어서 접근하려고 했다. 하지만 메모리 낭비가 심하고 인덱싱 규칙이 복잡해 실패했다... 이런 경우는 테스트케이스마다 동전 종류가 다르므로, 미리 큰 범위를 계산해놓는 방식은 비효율적이라는 것을 알게 되었다.팰린드롬 공장문제는 너~무 어려워서 아직도 잘 이해가 안 간다.. DP는 대체 어디까지 어려울 수 있을까? 편집거리 알고리즘이라 생각했는데 이를 이 문제의 '팰린드롬 수' 개념에 맞춰 변형해야 하는 게 너무 헷갈리고 어려웠다.🚀주간 목표 문제 수: 3개
백준 #1759. 암호만들기: 그래프 / 골드1
정리한 링크: (바로가기)
🚩플로우 (선택)
L, 전체 알파벳 개수C를 입력받고is_valid정의backtrack정의L이면 종료backtrack([], 0)으로 시작한다.🚩제출한 코드
💡TIL
백준 #6603. 로또: 그래프 / 실버2
정리한 링크: (바로가기)
🚩플로우 (선택)
조합 풀이:
0이 입력되면 반복 종료k와 집합S를 분리하고한다.combinations(S, 6)으로 가능한 조합을 모두 구한다.백트래킹 풀이:
k와 집합S를 분리한다.backtrack(lotto, current)를 정의한다.lotto는 현재까지 고른 수current는 탐색을 시작할 인덱스🚩제출한 코드
조합 풀이:
백트래킹 풀이:
💡TIL
백준 #9084. 동전: DP / 골드5
정리한 링크: (바로가기)
🚩플로우 (선택)
T를 입력받는다.T번 반복하면서:N입력coins입력M입력dp[0] = 1로 초기화된dp배열을 생성dp갱신dp[M]을 출력한다.🚩제출한 코드
💡TIL
백준 #1053. 팰린드롬 공장: DP / 골드1
정리한 링크: (바로가기)
🚩플로우 (선택)
dp_ops(s)함수s를 받아서dp테이블을 채우고dp[0][n-1]반환ans = dp_ops(s)ans > 1일 때만(0이나 1이면 스왑해도 더 줄일 수 없음)s[i]와s[j]를 바꾼 새 문자열 만들기cost = 1 + dp_ops(swapped_string)계산cost < ans이면ans = costans출력🚩제출한 코드
💡TIL