
2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 www.acmicpc.net 문제풀이 모든 육지에 대해서 BFS를 수행해서 각 육지에서 인접한 육지로 이동하면서 가장 긴 시간이 걸리는 육지를 찾는다. 각 육지의 최대 이동 시간을 비교했을 때 가장 큰 이동 시간이 보물이 묻혀 있는 두 곳 같의 최단 거리로 이동하는 시간이 된다. 코드 C++ 코드 Kotlin 코드

7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 문제풀이 익은 토마토를 찾아서 BFS를 수행한다. 보통은 visited 배열을 쓰지만 이번에는 map 배열로 방문 여부를 표시해주었다. 0이면 방문하지 않았다는 의미이고 그 외의 경우에는 이미 방문했다는 의미이다. 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들의 값을 map[x][y] + 1로 수정해서 방문 표시를 한다. BFS가 끝난 후에는 전체 배열을 검사해서 익지 않은 토마토가 있는지 확인한다. 있다면 -1을, 없다면 map 배열의 ..

1342번: 행운의 문자열 민식이와 준영이는 자기 방에서 문자열을 공부하고 있다. 민식이가 말하길 인접해 있는 모든 문자가 같지 않은 문자열을 행운의 문자열이라고 한다고 한다. 준영이는 문자열 S를 분석하기 시작 www.acmicpc.net 문제풀이 행운의 문자열은 인접해 있는 모든 문자가 같지 않은 문자열을 말한다. 문자열 S를 정렬해준 후 next_permutation으로 가능한 모든 배치를 검사하면서 행운의 문자열이 몇 개 나오는지 찾으면 된다. C++ 코드
- Total
- Today
- Yesterday
- 백준
- 자바
- BFS
- algorithm
- SW Expert Academy
- 정렬
- 그래프
- 두 포인터
- BOJ
- dfs
- 이분 탐색
- 브루트포스
- SWEA
- 배열
- 프로그래머스
- 문자열
- 트리
- 위상 정렬
- 재귀
- Kotlin
- 알고리즘
- C++
- 투 포인터
- 스택
- 분할 정복
- 구현
- programmers
- Two Pointer
- Java
- 큐
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |