일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 카드1
- 개발자 취업
- Python 20001
- 프로그래머스
- 99항해
- BOJ
- leetcode 2405
- 파이썬
- 99클럽
- 백준 팰린드롬수
- 백준 2309
- 구현
- 항해99
- python 2309
- Python
- leetcode
- python 14503
- python 10250
- python 1259
- python 10989
- BFS
- 코딩테스트 준비
- 백준 막대기
- 스택
- til
- softeer
- 일곱 난쟁이
- boj 2309
- 큐
- 백준
- Today
- Total
목록BFS (2)
동까의 코딩
오늘의 문제인 침투를 풀어보았다. 기본적인 BFS & DFS로 풀 수 있었다. https://www.acmicpc.net/problem/13565 13565번: 침투 첫째 줄에는 격자의 크기를 나타내는 M (2 ≤ M ≤ 1,000) 과 N (2 ≤ N ≤ 1,000) 이 주어진다. M줄에 걸쳐서, N개의 0 또는 1 이 공백 없이 주어진다. 0은 전류가 잘 통하는 흰색, 1은 전류가 통하지 않 www.acmicpc.net dfs 풀이 import sys sys.setrecursionlimit(3000000) def dfs(y, x): per_lst[y][x] = 2 for dy, dx in d: Y, X = y+dy, x + dx if (0
BFS로 푸는 기본적인 문제 중에 하나인 토마토 문제를 풀어보았습니다. https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 저의 풀이는 5가지로 나눴습니다. 1. 맵과 n,m을 입력받는다. 2. 토마토가 있는 1의 지점을 받고 queue에 저장한다. 3. bfs에 넣어서 queue에서 pop 해주어 동서남북으로 탐색 후 0을 발견하면 지금 자리에 +1을 하여 맵에 업데이트 후 queue에 해당 좌표를 넣어준다. 4. queue가 비..