일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 포트앤어댑터 아키텍처
- 이펙티브 자바
- 세그먼트 트리
- pandas
- 헥사고날 아키텍처
- 자바
- UML
- DP
- docker
- 위상정렬
- 문자열
- java
- ddd
- 파이썬
- 스프링
- 다익스트라
- dataframe
- BFS
- JPA
- 알고리즘
- equals
- 백준
- Redis
- series
- 데이터 flow
- disjoint set
- springboot
- spring security
- dfs
- 비트마스크
- Today
- Total
목록BFS (2)
코딩못하는사람
18809 Gaaaaaaaaaarden www.acmicpc.net/problem/18809 1.접근 초록색과 빨간색 조합을 써야하므로 itertools 모듈에 combination을 써주고 경우의 수가 너무 많으므로 백트래킹을 활용한 BFS로 최대 꽃개수를 구해보자 2.풀이 combination을 사용해서 해볼 경우의수를 모두 BFS함수에 넣는다. BFS를 초록색을 돌리는 큐와 빨강색을 돌리는 두개의 큐로 나눠서 풀었다. 우선 방문한곳을 체크하는 visited함수를 -1로 초기화하고 몇번째날에 들어가는지(cnt)로 갱신한다. 우선 초록색을 돌리면 큐에서 꺼낸좌표가 flower이면 continue 좌표가 n,m범위에 있고 바다가 아니며 visited가 -1이면 언제 방문했는지 visited에 cnt를 넣..
https://www.acmicpc.net/problem/13913 1.접근 bfs역추적을 방문했던곳인지 확인하는 check배열을 만들어 바로 전 값을 저장하도록 해서 추적하게 했다. 2.풀이 출발지점에서 도착지점까지 가는 +1,-1,*2의 3가지 뿌리로 bfs를 만들어준다. 여기서 방문했던 곳인지 확인하는 check 배열을 -1로 초기화 시킨다.bfs를 통하여 방문할때마다 cnt대신에 자신의 바로 전 위치를 집어 넣어주면 -1도 아니게 되고 어떤 경로로 현재 지점에 와있는지 알 수 있게된다. 따라서 큐에서 도착지점 값이 나올 때 cnt값을 반환하고 도착지점에서부터 시작지점까지 check배열을 순서대로 거꾸로 따라가보면 어느 경로로 왔는지 나온다.(마지막 while 문) 3.코드 4.배운점 처음에 che..