티스토리 뷰
- 문제 링크
https://www.acmicpc.net/problem/2589
- 풀이
bfs로 풀었다. 문제를 보면 알겠지만 범위 내에서 모든 육지를 다 체크해야 하는 완전 탐색 문제이다. 코드를 보면 알겠지만 그냥 bfs에서 사알짝 응용 버전이다. 별로 어렵지 않았다. 근데 정답률이 37% 밖에 되지 않아서 조금 이상하긴 했다.
- 코드
import sys
from collections import deque
input = sys.stdin.readline
dx = [0,0,-1,1]
dy = [-1,1,0,0]
def bfs(x, y):
visited = [[0] * M for _ in range(N)]
queue = deque()
queue.append((x, y, 0))
visited[x][y] = 1
distance = 0
while queue:
a, b, d = queue.popleft()
for i in range(4):
nx = a + dx[i]
ny = b + dy[i]
if 0 <= nx < N and 0 <= ny < M:
if graph[nx][ny] == 'L' and visited[nx][ny] == 0:
visited[nx][ny] = 1
distance = d + 1
queue.append((nx, ny, d + 1))
return distance
N, M = map(int, input().split())
graph = []
res = 0
for i in range(N):
graph.append(list(map(str, input().rstrip())))
for i in range(N):
for j in range(M):
if graph[i][j] == 'L':
res = max(res, bfs(i, j))
print(res)
참고로 python3로 제출하면 시간 초과가 뜨고, pyp3으로 제출해야 시간초과가 뜨지 않는다. 파이썬은 시간초과가 너무.. 잘 뜬다. c++로 공부를 할 걸 그랬다. 코딩 테스트에서도 이런 문제만 나왔으면~~
'Algorithm > BOJ' 카테고리의 다른 글
| [BOJ][Python] 백준 10026번 : 적록색약 (0) | 2023.05.11 |
|---|---|
| [BOJ][Python] 백준 2108번 : 통계학 (0) | 2023.04.13 |
| [BOJ][Python] 백준 11724번 : 연결 요소의 개수 (0) | 2023.04.06 |
| [BOJ][Python] 백준 1012번 : 유기농 배추 (0) | 2023.04.05 |
| [BOJ][Python] 백준 21610번 : 마법사 상어와 비바라기 (0) | 2023.03.21 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 백준
- 리액트 츨겨찾기
- BOJ
- 목데이터
- 서강그라운드
- opgg #클론코딩 #할수있다
- 리액트
- 6986
- WOFF2
- 최근검색 기능
- 리코쳇 로봇
- 리액트 최근검색
- 보정평균
- 레벨 2
- 21610
- BFS
- boj 10026 python
- 파이썬
- 도넛 행성
- 마법사 상어
- 1270
- 구현
- 알고리즘
- 14938
- Python
- 백준 10026
- 실버3
- boj 2589
- 폰트 최적화
- 데이크스트라
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함