티스토리 뷰
문제
현수는 송아지를 잃어버렸다. 다행히 송아지에는 위치추적기가 달려 있다. 현수의 위치와 송아 지의 위치가 수직선 상의 좌표 점으로 주어지면 현수는 현재 위치에서 송아지의 위치까지 다음과 같은 방법으로 이동한다. 송아지는 움직이지 않고 제자리에 있다. 현수는 스카이 콩콩을 타고 가는데 한 번의 점프로 앞으로 1, 뒤로 1, 앞으로 5를 이동할 수 있다. 최소 몇 번의 점프로 현수가 송아지의 위치까지 갈 수 있는지 구하는 프로그램을 작성하세요.
풀이
function solution(s, e) {
let answer = 0;
let ch = Array.from({ length: 10001 }, () => 0);
let dis = Array.from({ length: 10001 }, () => 0);
let queue = [];
ch[s] = 1;
queue.push(s);
dis[s] = 0;
while (queue.length) {
console.log(queue);
let x = queue.shift();
answer += x;
for (let nx of [x - 1, x + 1, x + 5]) {
if (nx === e) return dis[x] + 1;
if (nx > 0 && nx <= 10000 && ch[nx] === 0) {
ch[nx] = 1;
queue.push(nx);
dis[nx] = dis[x] + 1;
}
}
}
return answer;
}
console.log(solution(5, 14));
ch는 사용했는지 배열로 체크하는 것이고 , dis는 몇 번째 만에 찾았는지 표시하는 배열입니다.
'알고리즘 > 코딩테스트 공부' 카테고리의 다른 글
10-1. 계단 오르기 (동적 계획법) (0) | 2022.03.26 |
---|---|
9-7. 섬나라 아일랜드(DFS 활용)와 (BFS : 넓이 우선 탐색) 문제 풀이 (0) | 2022.03.26 |
9-4. 미로 탐색(DFS) (0) | 2022.03.25 |
9-3. 경로 탐색(DFS-인접 리스트 : 노드 개수가 많을 때 적용) (0) | 2022.03.25 |
9-2. 경로 탐색(DFS-인접 행렬 : 노드 개수가 적을 때) (0) | 2022.03.25 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 윤성우 열혈C프로그래밍
- WSL2
- nextjs
- 프리온보딩
- env
- React
- error
- 아차산
- jest
- Storybook
- createPortal
- 원티드
- 노마드코더
- 북클럽
- nodejs
- 우아한테크코스
- electron
- CLASS
- NextRequest
- 노개북
- 프론트앤드
- C언어
- NextApiRequest
- TopLayer
- 초보
- javascript
- 스토리 북
- 위코드
- import/order
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함