본문으로 바로가기

PGMS 점프와 순간이동

category Algorithm/PGMS 2022. 1. 10. 23:09

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

 

코딩테스트 연습 - 점프와 순간 이동

OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈

programmers.co.kr

function solution(n) {
	let cnt = 0;
	while (n) {
		if (n % 2 == 0) {
			n /= 2;
		} else {
			n -= 1;
			cnt++;
		}
	}
	return cnt;
}

N의 범위가 10억이라 배열에 할당하여 푸는 문제가 아니라고 판단

 

0에서 N으로 가는 문제가 아니라 N에서 0으로 가는 문제라고 생각하면

 

계속 2로 나누어주며 2로 나누어지지 않는 경우 1을 빼주면 된다고 생각했다.

 

2으로 나눌수 있다면 나눠주는게 더 적은 횟수로 0으로 갈 수 있기 떄문(거기다 횟수로도 안침)

'Algorithm > PGMS' 카테고리의 다른 글

PGMS - 피로도  (0) 2022.01.14
PGMS - 소수찾기  (0) 2022.01.13
PGMS 캐시  (0) 2022.01.10
PGMS 전력망을 둘로 나누기  (0) 2022.01.10
PGMS 거리두기 확인하기  (0) 2021.12.29