일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Logback
- 트리
- dp
- docker-compose
- Spring Cloud Config
- 다익스트라
- 구현
- Java
- 달팽이
- 완전 탐색
- 주울
- 서비스 디스커버리
- 플로이드 와샬
- BFS
- 이분 매칭
- 스택
- 이분 탐색
- ZuulFilter
- Gradle
- Zuul
- 구간 트리
- 게이트웨이
- spring cloud
- spring boot
- 스프링 시큐리티
- 메모이제이션
- 비트마스킹
- 백트래킹
- 유레카
- 도커
- Today
- Total
목록BFS (3)
Hello, Freakin world!
https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가�� www.acmicpc.net 그래프의 최단 거리 알고리즘을 기반으로 하는 구현 문제입니다. 이 문제의 포인트는 역시 최단 거리의 물고기를 찾고 선택하는 과정에 있습니다. 저도 여기서 한참 헤맸는데요. 문제의 조건을 이렇습니다. 1. 최단 거리의 물고기가 여러 마리일 때, 위쪽에 있는 물고기가 먼저 우선 순위를 가진다. 2. 높이가 같다면 왼쪽에 있는 물고기의 우선 순위가 더 높다. 제가 이 문제에서 헤맸던 이유는 ..
www.acmicpc.net/problem/1525 1525번: 퍼즐 세 줄에 걸쳐서 표에 채워져 있는 아홉 개의 수가 주어진다. 한 줄에 세 개의 수가 주어지며, 빈 칸은 0으로 나타낸다. www.acmicpc.net 풀이를 둘러보니 상태를 저장하는 방법이 꽤 여러 가지였습니다. 각 요소의 값이 모두 1자리기 때문에 문자열이나 그냥 정수로 상태를 표현한 풀이도 가능합니다. 하지만 값이 한 자리를 넘어가는 순간 값들을 분리해야 되기 때문에 다른 방법이 필요할겁니다. 비트마스킹은 입력의 범위가 크지 않다면 일반적인 대안이 될 수 있습니다. 이 문제의 경우 0~9까지의 수를 표현하기 위해 4자리의 비트가 필요합니다. 수를 모두 9개이므로 36비트가 필요하겠네요. 자바 int 자료형은 32비트라서 안되고 lo..
www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 �� www.acmicpc.net 오랜만에 bfs 문제를 만나게 됐네요 ㅎㅎㅎ 처음에 낸 풀이는 메모리 초과가 떴습니다. 문제는 방문한 노드들을 체크하는 시점 때문에 발생한 문제였는데요. 예를 들면 dfs에서는 노드를 방문하고 나서야 현재 노드에 방문 체크를 하게 됩니다. 하지만 bfs는 방문 이전 시점, 즉 이전 노드에 의해 큐에 추가 될때 이미 방문 체크를 해버립니다. 왜 이렇게 하는가? 라는건 조금만 생각해..