일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 링크드리스트
- lis
- 메모리풀
- 완전 탐색
- 스택
- DP
- 세그먼트 트리
- 문자열
- 중복 순열
- 순열
- 크루스칼
- Knapsack
- 재귀
- 조합
- BeautifulSoup
- SSAFY
- 클래스
- 그리디
- 백트래킹
- BFS
- 시뮬레이션
- 빠른 입출력
- 이분 탐색
- 분할 정복
- 우선순위 큐
- 비트마스크
- 큐
- MST
- dfs
- 피보나치 수
- Today
- Total
목록SWEA/역량 테스트 (2)
작심 24/7
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 기본적인 로직은 상, 하, 좌, 우를 탐색하여 이전 봉우리보다 낮은 경우 → 한 칸 더 갈 수 있다. 이전 봉우리보다 높거나 같은 경우 → 현재 봉우리의 높이를 1~K 만큼 깎아서 (이전 봉우리 높이 - 1) 로 만들 수 있는지 판단. →만들 수 있으면 한 칸 더 갈 수 있다. 이때, 깎을 수 있는 기회는 한 번뿐이므로 깎았다고 표시를 해줘야 한다. 이렇게 가장 긴 길이를 찾는 문제이므로 DFS로 풀면 되지만 굳이 굳이 BFS로 접근해서 방문 체크 때문에 머리 아팠다. DFS는 깊이 우선 탐색이기 때문에 방문 배열 한 개 가지고 재귀 호출을 통해 체크했다가 지웠다..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 일단 Core 중에서도 가장자리에 있는 것들은 전선을 연결하지 않기 때문에 고려해줄 이유가 없으므로 코어의 목록에서 제외하고 시작한다. 최대한 많은 Core에 전원을 연결해야 하기 때문에 코어의 개수를 M개라 칭하면, M개 중 M개를 뽑는 조합부터 시작하여 M - 1, M - 2, ... , 0개를 뽑는 경우까지 차근차근 생각해주어야 한다. M개 중 R개를 뽑는 조합을 구하면, 즉 R개의 Core를 사용할 때, 전선 길이의 합이 최소가 되는 경우를 구해야 한다. DFS를 사용하여 상, 하, 좌, 우 방향으로 전선을 만들 수 있는지 판단한다. → 만들 수 있는 경우..