💻 Computer Science/Algorithm 3

[Algorithm] 백준 1783 병든 나이트 | 그리디, 구현 (파이썬)

아이디어는 제대로 잡고 시작해서 엄청 금방 풀 거라고 생각했는데, 조건 하나를 잘못 생각하고 풀이하는 바람에 5번이나 틀리고 GPT에게 물어보고 나서야 해결했다는 사실...   📝 백준 1783 병든 나이트https://www.acmicpc.net/problem/1783문제는 어렵지 않다! 나이트가 갈 수 있는 방향 4가지가 주어진다. 단, 이동 횟수가 4번 이상 되려면 4가지 방향을 한 번 이상씩 사용하고 나서 원하는 방향으로 갈 수 있다. 그리고 4번보다 적다면 한 방향으로 여러 번 갈 수 있다. 여기서 나이트가 갈 수 있는 최대 개수를 구하면 된다. (n: 높이, m: 너비) 💡 문제 풀이 아이디어나이트는 →→↑, →→↓, →↑↑, →↓↓ 이렇게 4가지 방향으로 갈 수 있다. 즉, 우측으로만 이..

[Algorithm] 백준 10799 쇠막대기 | 스택 (파이썬)

첫 번째 시도, 시간초과. 두 번째 약간의 힌트를 얻고 통과! 처음 생각하던 아이디어 그대로 풀었으면 시간 초과 안 나고 잘 풀었을 텐데 반복문을 두 번이나 쓰면서 시간초과로 실패했다. 그래도 문제가 아주 어렵지 않고, 마지막에 넣은 값을 빼는 스택을 활용한다는 아이디어만 바로 얻으면 금방 풀어낼 수 있다! 자 이제 풀어보자. 📝 백준 10799 쇠막대기https://www.acmicpc.net/problem/10799서로 마주 보는 ()는 레이저, 나머지 괄호 (--)는 막대기를 의미한다. 예시 이미지에서 첫 번째 괄호는 레이저지만, 앞 뒤로 괄호가 없어서 막대기가 없다는 의미이므로 자를 막대기가 없는 것! 이렇게 잘린 막대기의 수를 찾으면 된다. 💡 문제 풀이 아이디어"("를 만나면 막대기의 시작..

[Algorithm] 백준 2468 안전 영역 | BFS, DFS (파이썬)

문제를 정말 오래 풀이하다가 방법이 떠오르지 않아서 풀이를 보고 말았다. 그런데 이전부터 완전히 체득하지 못했던 탐색 알고리즘으로 푸는 문제였다. 이 기회에 BFS와 DFS를 확실하게 이해하고 넘어가기로 했다! 가보자!!  📝 백준 2468 안전 영역(개인적으로 문제 번호가 너무 마음에 든다.. 2468이라니 완벽하다..)https://www.acmicpc.net/problem/2468n x n의 2차원 배열로 주어지는 지역이 있다. 비가 내려서 특정 높이 이하의 지역이 모두 물에 잠긴다면, 남은 지역에서 서로 인접한(상하좌우) 영역들 중 잠기지 않은 안전 영역의 개수를 구하는 문제다. 대각선으로 붙은 지역은 인접하지 않는 걸로 본다. 높이는 최대 100까지의 자연수이다. 🔖 문제 풀이 접근먼저 비의..