본문 바로가기
728x90
반응형

BFS15

[백준] 2667번: 단지번호붙이기 - python https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 간만에 BFS문제 뭔가 익숙해지면 BFS가 젤 쉬운거같다. 실버라 그런가 다른 BFS와 비슷하게 돌면서 방문처리를 진행하면서 큐에 넣고 출력해주면서 cnt, sum을 계산에 정답 리스트에 넣은 다음 출력해주면 정답 완성이다. from collections import deque n = int(input()) arr = [] for i in range(n): arr.append(list(map(int.. 2024. 4. 1.
[백준] 2468번: 안전 영역 - python https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net 무지성으로 가장 큰 값을 기준으로 for문을 돌리면서 한번씩 한번씩 BFS를 진행한다. 그리고 할때마다 값을 answer리스트에 추가해주고 최종으로 answer에서 가장 큰 값을 뽑아낸다. 처음 작성한 코드. 그러나 69퍼에서 바로 런타임에러 발생.. 생각보다 BFS에서 상당히 자주 일어나는 것 같다. 이럴때 런타임에러가 발생하는 이유는 모든 영역이 1일때 for문이 제대로 작동을 안하기 때문이었다. f.. 2024. 3. 28.
[백준] 5014번: 스타트링크- python https://www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net 숨바꼭질과 비슷한 패턴의 BFS문제. 사실 난 DFS를 좋아하는데 거의 안쓰는 것 같다. 쨋든 숨바꼭질과 거의 유사하게 작성했는데 계속 83퍼쯤에서 에러가 계속 터졌었다. 왜 그런지하고 계속 생각하다가 틀린 이유를 모르겠어서 질문게시판을 뒤지다가 정답을 알았는데 이 테스트코드 넣은사람은 정말 꼼꼼한거같았다. 엘리베이터 층을 0층부터 생각하고 짜서 에러가 발생한 것이었다.. ㅋ from collections i.. 2024. 3. 28.
[백준] 2583번: 영역 구하기 - python https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net 좌표 설정하는데 미로찾기처럼 위에서부터 0인줄알고 했다가 다시 읽어보니 거꾸로 되어있었어서 햇갈렷던 문제; 좌표를 색칠한 후에 나머지를 1로 모조리 칠해버리는 식으로 코드를 구현햇다. 만약 0이면 색칠 -> sum, cnt 증가 후 마지막에 정렬 후 출력 sum = 0이면 1로 한 이유는 파고 들어가야지만 넓이가 증가되어 기본 첫번째 진입일때도 넓이가 1로 카운트 되게 설정하였.. 2024. 3. 27.
728x90
반응형