그래프 탐색17 [BOJ_1012] 유기농 배추 📌 문제 링크: https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net ✅ 내 풀이(Success) : 🚩 Idea: - BFS를 이용한 완전 탐색으로 배추 밭에 필요한 배추 흰 지렁이의 개수를 체크한다. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 7. 23. [BOJ_2178] 미로 탐색 📌 문제 링크: https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: - Reference에 첨부한 문제를 이전에 푼 경험으로 같은 방법을 이용해서 이 문제를 해결했다. 두 문제의 풀이 코드도 입력으로 주어지는 배열과 이동방향을 결정하는 방향벡터만 다를뿐 완전히 똑같은 코드였다. 🚩 Idea: - 문제를 읽자마자 BFS로 풀어야겠다는 생각이 들었다. 그런 생각이 들지 않았더라도 문제의 알고리즘 분류에 힌트가 주어지기 때문에 어떤 알.. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 6. 28. [BOJ_1697] 숨바꼭질 📌 문제 링크: https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: - 수빈이가 이동할 수 있는 경우 세 가지(x-1, x+1, 2*x) 중에서 순서를 적절하게 하지 못하면 코드를 다 작성했지만 틀릴 수도 있는 문제이다. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 6. 15. [BOJ_1325] 효율적인 해킹 📌 문제 링크: https://www.acmicpc.net/problem/1325 알고리즘 문제 풀이: 파이썬/BOJ 2022. 6. 6. [BOJ_24444] 알고리즘 수업 - 너비 우선 탐색 1 📌 문제 링크: https://www.acmicpc.net/problem/24444 24444번: 알고리즘 수업 - 너비 우선 탐색 1 첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양방 www.acmicpc.net ✅ 내 풀이(Success) : 🚩 Idea: - 큐 자료구조를 이용해서 너비 우선 탐색(BFS) 진행하고, 노드를 방문할때마다 방문 순서를 기록한다. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 6. 6. [BOJ_24479] 알고리즘 수업 - 깊이 우선 탐색 1 📌 문제 링크: https://www.acmicpc.net/problem/24479 24479번: 알고리즘 수업 - 깊이 우선 탐색 1 첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양 www.acmicpc.net ✅ 내 풀이(Sucess) : 🧐 Review: 위의 코드를 Python3로 제출했을 때 '런타임 에러 (RecursionError)'가 발생하지만, PyPy3으로 제출하면 에러 없이 통과할 수 있다. 이게 재귀의 깊이 때문에 발생하는 문제 같아서 재귀 제한을 100,000보다 더 높게 잡아준다면 Python.. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 6. 6. [BOJ_2606] 바이러스 문제 링크: https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 내 풀이: Review: DFS 또는 BFS로 쉽게 풀 수 있는 문제였다. 항상 알고리즘 문제를 풀 때 마다 변수명을 어떻게 지을지 고민하는데 이번 문제에서 컴퓨터들의 연결 상태를 나타내는 배열을 network라는 변수로, 바이러스의 감염상태를 나타내는 배열을 infected라는 변수명으로 지었다. 의미없는 변수명 보다 하나의 변수라도 의미있게 짓는 연습을 꾸준히 이어간다면, 이러한 습관들.. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 5. 2. 이전 1 2 다음