Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 |
30 | 31 |
Tags
- 코딩테스트
- BFS
- 코테
- 항해플러스ai
- Spring
- 자바
- Java
- 다시보기
- DP
- database
- 유니온파인드
- 그래프
- 항해플러스ai후기
- SSAFY
- JPA
- 항해솔직후기
- 싸피
- 알고리즘
- DFS
- 백준
- 코딩테스트실력진단
- 다익스트라
- 그리디
- 트러블슈팅
- SWEA
- JUnit
- 알고리즘기본개념
- 완전탐색
- Union Find
- 코드트리
Archives
- Today
- Total
목록그래프알고리즘 (1)
HwangHub
[BFS/자바] k개의 벽 없애기
유형 파악 이 문제는 2차원 배열 상의 출발지에서 목적지까지 이동시간의 최소를 구하는 문제이면서, 이동간 시간 가중치가 동일하기 때문에 전형적인 BFS 문제라고 이해할 수 있다. 아울러, 몇 개의 점을 선택하여 제거하는 경우를 세야 하므로 이 부분은 백트래킹 로직을 활용하여 풀어내 주었다. 제출 코드 구성했던 로직의 특징은, 여러 경우에서 도착지에 도달하는 시간이 도출될텐데, 그 경우 중 가장 빠른 경우에서의 시간을 구하는 것을 우선순위 큐를 활용하여 도출해줬다는 것과, 제거하려는 벽을 중복으로 선택하지 않기 위해 selected[][] 라는 배열을 운영한 것이다. 개인적으로 헤맨 부분은, 백트래킹을 통해 제거할 벽을 모두 선택했을 때 bfs를 수행하기 위해 관련 변수들을 초기화해줘야 한다는 것이다. 이..
workspace/algorithm
2023. 11. 6. 16:06