코드업 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

[Python] Code up 4024: 호수의 수 구하기

https://codeup.kr/problem.php?id=4024&rid=0 호수의 수 구하기첫째 줄에 두 정수 W, H가 주어진다. (단, 4 codeup.kr 문제 설명 CodeUp 4024번 문제는 'L' 과 '.' 으로 구성된 지도를 통해 호수의 개수를 구하는 문제입니다. 이때 'L'은 호수를 의미하고 '.'은 비호수 지역을 의미합니다. 호수는 상, 하, 좌, 우, 대각선으로 연결된 모든 'L' 을 하나의 호수로 간주합니다. 해결 접근법일단 이 문제를 마주했을 때, DFS 알고리즘을 활용해야겠다는 생각이 들었습니다.DFS는 한 지점에서 시작해 갈 수 있는 모든 경로를 탐색하기 때문에 호수의 모든 연결 요소를 방문하는 데 적합하다고 생각했기 때문입니다. 소스코드import syssys.setrec..

알고리즘/Python 2025.02.08