본문 바로가기

알고리즘 문제 풀이

프로그래머스[LEVEL2] - 점프와 순간이동

 

https://school.programmers.co.kr/learn/courses/30/lessons/12980

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

 

문제 풀이

 

 

이 문제는 코드는 간단하지만 알고리즘을 생각하는데 시간이 많이 걸렸다 이동할 총 거리를 기준으로 순간이동할 수 있는 거리는 현재 까지 온 거리 +2이다 따라서 이동할 총 거리 /2 를 한 지점이 순간이동 할 수 있는 지점이다 만약 총 이동할 거리가 60이라면 30이 되는 지점에서 순간이동할 경우 60으로 이동할 수 있다 이때 이동할 경우가 짝수라면 순간이동으로 모두 이동할 수 있지만 홀수라면 한 칸 점프를 해야 한다 즉 이동할 거리가 짝수라면 n / 2 를 하고 홀수라면 n -= 1 을한다 이때 battery는 증가시킨다 이를 n이 0이 될때까지 반복한다