본문 바로가기
728x90

dfs17

[SWEA] 최대 상금 - python https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AV15Khn6AN0CFAYD&categoryId=AV15Khn6AN0CFAYD&categoryType=CODE&problemTitle=&orderBy=SUBMIT_COUNT&selectCodeLang=ALL&select-1=3&pageSize=10&pageIndex=2 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com DFS를 잘 사용할 수 있는지 테스트하는 문제.n과m 시리즈를 잘 풀었다면 무난하게 풀었을 것 같다. 상태트리를 생성해for문으로 계속해.. 2024. 5. 13.
[SWEA] 한빈이와 Spot Mart - python https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AW8Wj7cqbY0DFAXN&categoryId=AW8Wj7cqbY0DFAXN&categoryType=CODE&problemTitle=&orderBy=SUBMIT_COUNT&selectCodeLang=ALL&select-1=3&pageSize=10&pageIndex=2 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 풀고보니 파이썬 제출이 없어서 채점을 진행하지 못한 문제 DFS로 길이가 2개인 부분집합을 생성해서 합을 비교해서 answer을 도출하는.. 2024. 5. 13.
[백준] 1182번: 부분수열의 합 - python https://www.acmicpc.net/problem/1182 부분수열은 상태트리로 1 0 으로 뻗어나가면 풀기 편리하다. 처음에 계속 예제문제가 2가 나와서 아이러니해서 고민을 했는데 문제를 잘 읽어보니 크기가 양수라는 조건이 있어서 공집합을 제외시켜줘야 답이 출력되는 형태였다. 그래서 DFS변수를 L 깊이, sum 합, k 부분집합의 개수 로 설정하고 양수가 아니면 cnt를 증가시켜주지 않는 조건을 추가하여 답을 출력하게 만들었다. n, s = map(int, input().split())arr = list(map(int, input().split()))cnt = 0def DFS(L, sum, k): global cnt if L == n: if s == sum and k!=.. 2024. 5. 6.
[백준] 14501번: 퇴사 - python https://www.acmicpc.net/problem/14501 14501번: 퇴사첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다.www.acmicpc.net 배울게 참 많은 문제 첫번째 아이디어DFS를 이용하여 상태트리를 생성하여 계산하는 방식과N = int(input())def DFS(L, sum): global res if L == N+1: if res   두번째는 DP를 이용하여 최대값을 계속 저장해나가는 방식이다. n = int(input())schedule = []dp = [0] * (n+1)for i in range(1,n+1): a, b = map(int, input().split()) schedule.append([a,b])for i in ra.. 2024. 5. 6.
728x90