dfs 2

[Python] Code up 4060: 전광판 전구 조작

https://codeup.kr/problem.php?id=4060 전광판 전구 조작첫째 줄에 전광판의 크기를 나타내는 세로 길이 $M$과 가로 길이 $N$이 입력된다. ($2codeup.kr문제 설명전광판에는 켜져 있는 전구(1)와 꺼져 있는 전구(0)가 있습니다. 전구를 조작하면 해당 전구와 상하좌우로 연결된 같은 상태의 전구들이 모두 바뀌는 특징이 있습니다. 이러한 규칙을 따라 모든 전구를 켜는 최소 조작 횟수와 끄는 최소 조작 횟수를 구하는 문제입니다.입력첫째 줄: 전광판의 크기 M N (2 ≤ M, N ≤ 100)둘째 줄부터 M개의 줄에 걸쳐 N개의 전구 상태가 주어짐 (켜진 상태: 1, 꺼진 상태: 0)출력모든 전구를 켜기 위한 최소 조작 횟수와 모두 끄기 위한 최소 조작 횟수를 공백으로 구분..

알고리즘/Python 2025.02.08

깊이 우선 탐색 (DFS)

DFS는 알고리즘 문제를 풀다 보면 꼭 마주하는 개념인 거 같은데요Code up 문제들을 풀면서 마주한 그래프 문제들을 DFS 문제들로 많이 해결해 왔기에 오늘은 깊이 우선 탐색(DFS)에 대해 알아보고 어떤 상황에 활용하는 게 좋은지 정리해보려 합니다. DFS란 무엇인가?DFS(Depth-First Search) 는 그래프 탐색 알고리즘 중 하나로, 특정 경로를 끝까지 탐색한 후 다른 경로를 탐색하는 방식입니다. 스택 자료구조를 기반으로 동작하며, 재귀(Recursion) 또는 명시적 스택(Stack)을 사용하여 두 가지 방법으로 구현할 수 있습니다. DFS를 알아야 하는 이유1. 그래프 탐색의 기본!!DFS는 그래프 탐색의 기본적인 방법 중 하나로, 여러 가지 문제에서 응용 됩니다. 미로 탐색, 네트..

알고리즘 2025.02.08