본문 바로가기
C++ 코딩 문제 풀이/프로그래머스

[Programmers] 점프와 순간 이동

by 섬댕이 2023. 8. 27.

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

 

프로그래머스

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

programmers.co.kr

 


 

문제 해결 과정

착안

건전지 사용량을 줄이기 위해서는 최대한 순간이동을 활용해야하므로, 가능한 한 적은 양의 건전지 사용량으로 이동하고자 하는 거리를 2의 배수로 맞춘 뒤 순간이동을 활용한다. 

 

구현

[스포 주의] 아래 '더보기'를 누르면 코드가 나오니 주의하세요~

더보기
int solution(int n)
{
	if (n > 1)
	{
		if (n % 2)
			return solution(n / 2) + 1;
	
		return solution(n / 2);
	}
	
	return 1;
}

 

실행 결과

댓글