백준 #5014. 스타트링크: BFS/ 실버1
문제 링크 : https://www.acmicpc.net/problem/5014
문제 요약
- 총 f 층, 현위치 s 층 , 목적지 G층
- 이동 방법 (1) 위로 U 층 , (2) 아래로 D 층
- (- 1 <= s , g <= f <= 10^6)
- 출력 : 최소 버튼 횟수 (불가능하면 "use the staris")
🔍 Inspection
문제 접근(문제 분석 → 풀이 아이디어)
풀이 유형 : BFS , 최단거리 탐색
- 최단 거리 = BFS 접근하기
- 🚨주의사항 : 그래프 탐색 범위를 1 ~ f 층 범위내 & 미방문 한 층의 한으로 좁히기
🚩 FLOW
코드를 풀이할 때 적었던 플로우가 있나요?
- 총 0 ~f 층 방문 배열 생성(미방문 조건 -> 최단 거리 확보)
- BFS 진행
- 변수 정의
- qeue : [현 위치하는 층수 ]
- 방문 여부 visited[층수] = 버튼 횟수(: -1)
- 탐색 범위 : 1 <= {다음 탐색 층} <= f & 미방문층
🚩제출한 코드