하루에 한 문제
[프로그래머스-lv2 Summer/Winter Coding(~2018)]점프와 순간이동 -Java 본문
알고리즘/프로그래머스 lv2 다시풀기
[프로그래머스-lv2 Summer/Winter Coding(~2018)]점프와 순간이동 -Java
dkwjdi 2021. 3. 23. 21:25https://programmers.co.kr/learn/courses/30/lessons/12980
import java.util.*;
public class Solution {
public int solution(int n) {
int ans = 0;
while(n>0){
if(n%2==0) n/=2;
else {
n--;
ans++;
}
}
return ans;
}
}
소요시간 : 5분
뒤에서부터 생각하면 쉽습니다
건전지를 최대한 사용하지 않아야 하기 때문에 순간이동보다는 자신이 온거리 x 2를 하다가 안될 때 한 칸 움직여 주는 것이 좋습니다.
만약 N이 6이라면
6/2 = 3
3-1 = 2 (건전지 1사용)
2/2 = 1
1-0 = 0 (건전지 1 사용)
총 건전지 2 사용
처럼 풀면 금방 풀립니다
끝~
'알고리즘 > 프로그래머스 lv2 다시풀기' 카테고리의 다른 글
[프로그래머스-lv2]N개의 최소공배수 -Java (0) | 2021.03.24 |
---|---|
[프로그래머스-lv2]타겟 넘버 -Java (0) | 2021.03.23 |
[프로그래머스-lv2 2018 KAKAO BLIND RECRUITMENT] n진수 게임 -Java (1) | 2021.03.21 |
[프로그래머스-lv2] 이중우선순위큐 -Java (0) | 2021.03.19 |
[프로그래머스-lv2 2019 KAKAO BLIND RECRUITMENT] 후보키 -Java (0) | 2021.03.18 |
Comments