본문 바로가기

dfs6

[Python-백준 2667] DFS - 단지번호 붙이기 알고리즘 문제 풀이 (DFS) - 단지번호 붙이기 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 이상하게 잘 안풀렸던 DFS문제.. 문제 읽고서는 굉장히 쉽다고 느꼈는데 어디선가 머리가 꼬인것인지 계속 빙빙 돌았던 문제였습니다. 기존 DFS 문제인 유기농 배추 + 섬의개수를 섞어놓은 문제였습니다. 문제 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지.. 2022. 11. 17.
[Python-백준 2606] DFS - 바이러스 알고리즘 문제 풀이 (DFS) - 바이러스 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 기본적인 DFS 알고리즘에 대한 지식을 검증해볼 수 있는 문제입니다. 매우 간단하게 구현이 가능하며, 그래프에 대한 개념을 적용하여 풀어보도록 하겠습니다. 문제 신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터.. 2022. 11. 17.
[Python-백준 1012] DFS - 유기농 배추 알고리즘 문제 풀이 (DFS) - 유기농 배추 https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 문제 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이.. 2022. 11. 16.
[Python-백준 24479] DFS - 알고리즘 수업 - 깊이 우선 탐색 1 알고리즘 수업 - 깊이 우선 탐색 1 DFS 알고리즘 문제 풀이 시간 초과 건으로 인해서 계속 오류가 나는데 이유를 모르겠어서 헤매다가 해결했습니다. 문제 자체는 DFS 기본적인 내용인데 오류가 나니까 원인을 계속 찾았는데, 알고보니 입출력 간 발생 하는 문제였습니다. Python3 같은 경우, 입출력 간 시간이 많이 소요되기 때문에 input = sys.stdin.readline 코드를 통해서 입력 시간을 줄여주는 작업이 필요합니다. 입출력 관련한 문제는 백준 새싹 문제에 있으니 한번 풀어보도록 하여 익히도록 합니다. https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는.. 2022. 11. 16.
[Python-백준 10026] DFS - 적록색약 알고리즘 문제 풀이 (DFS) - 적록색약 문제 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다. 그림은 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색으로 이루어져 있다. 또, 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역에 속한다. (색상의 차이를 거의 느끼지 못하는 경우도 같은 색상이라 한다) 예를 들어, 그림이 아래와 같은 경우에 RRRBB GGBBB BBBRR BBRRR RRRRR 적록색약이 아닌 사람이 봤을 때 구역의 수는 총 4개이다. (빨강 2, 파랑 1, 초록 1) 하지만, .. 2022. 11. 15.
[Python-백준 4963] DFS - 섬의 개수 알고리즘 문제 풀이 (DFS) - 섬의 개수 문제 정사각형으로 이루어져 있는 섬과 바다 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오. 한 정사각형과 가로, 세로 또는 대각선으로 연결되어 있는 사각형은 걸어갈 수 있는 사각형이다. 두 정사각형이 같은 섬에 있으려면, 한 정사각형에서 다른 정사각형으로 걸어서 갈 수 있는 경로가 있어야 한다. 지도는 바다로 둘러싸여 있으며, 지도 밖으로 나갈 수 없다. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도가 주어진다. 1은 땅, 0은 바다이다. 입력의 마지막 줄에는 0이 두 개 주어진다. 출력 각 .. 2022. 11. 15.