01. 🔎 문제 탐색NxN 크기의 마을의 우체국에서 출발해 모든 집에 방문해야 함62500각 칸마다 고도가 정해져있고, 지나온 경로의 최대 고도 - 최소 고도 = 피로도가 됨이 때, 모든 집을 방문할 수 있는 최소 피로도를 구하는 문제INPUTN: 마을 크기(NxN) $(2 \leq N \leq 50)$(N개의 줄에 마을의 상태{'P': 우체국(시작점), 'K': 집, '.': 목초지}를 입력)(NxN 크기에 대한 각 칸의 고도를 입력) (고도 = 1,000,000이 최대인 자연수)01-1. 알고리즘 선택 & 시간 복잡도투 포인터로 배달원이 갈 수 있는 최소 고도와 최대 고도를 제한 $\rightarrow$ 시간 복잡도 $O(N)$BFS를 이용해 정해진 고도 범위 내에서 배달원이 모든 집을 방문할 수 ..
01. 🔎 문제 탐색N: NxN크기의 평지 $(4 \leq N \leq 50)$(N개의 줄에는 각 칸의 상태{0: 빈 칸, 1: 나무, B: 통나무, E: 목적지}가 주어짐)통나무(B)와 목적지(E)는 항상 연속적으로 3개가 놓임 (BBB가 1개, EEE가 1개)통나무와 목적지는 대각선으로 놓일 수 없으며, 항상 x축이나 y축과 평행함통나무는 상, 하, 좌, 우, 90도 회전 과 같이 5가지 행동을 할 수 있음(행동 반경에 나무(1)가 존재할 경우, 이동/회전 할 수 없음)통나무를 5가지 행동으로 목적지까지 이동시키되, 최소 동작 횟수를 출력01-1. 알고리즘 선택 & 시간 복잡도통나무를 목적지까지 이동시키기 위한 최소 동작을 묻는 문제로, BFS를 활용할 수 있다.(단, 연속된 B(통나무)는 함께 움..
01. 🔎 문제 탐색T: 테스트케이스 개수 $(T \leq 100)$h, w: 높이와 너비 $(2 \leq h,w \leq 100)$각 칸의 상태 { '.': 빈 공간, '*': 벽, '$': 문서, (대문자): 문, (소문자): 열쇠}문(대문자)은 그 알파벳이 나타내는 열쇠(소문자)로 열 수 있음열쇠는 여러 번 사용 가능 상근이는 빌딩 밖에서 시작해, 가장자리의 벽이 아닌 부분 어디로든 빌딩으로 들나들 수 있음만약, 문이 있을 경우 그 문의 열쇠가 필요OUTPUT상근이가 훔칠 수 있는 문서의 최대 개수를 출력01-1. 가능한 시간 복잡도빌딩에 들어갈 수 있는 가장자리 탐색 최대 4*100 - 4 = 약 396회, 시간 복잡도 $O(2h + 2w - 4)$빌딩에 들어간..