[프로그래머스] L2 점프와 순간 이동
[풀이]
N이 10억이기 때문에 배열로 체크하는 경우 메모리초과가 나거나 DP를 사용하는 경우 시간초과가 발생한다.
따라서 주어진 N이 홀수인 경우 -1, 짝수인 경우 나누기 2를 해주어 최종적으로 1이 나오도록 만든다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
import java.util.*;
public class Solution {
public int solution(int n) {
int ans = 1;
while(n>1){
if(n%2==1){
ans++;
n -= 1;
}
n /= 2;
}
return ans;
}
}
|
cs |
'Problem Solving' 카테고리의 다른 글
[프로그래머스] L2 소수 만들기 (0) | 2020.12.15 |
---|---|
[프로그래머스] L2 영어 끝말잇기 (0) | 2020.12.15 |
[프로그래머스] L2 캐시 / 2018 카카오 블라인드 채용 (0) | 2020.12.15 |
[프로그래머스] L2 스킬트리 (0) | 2020.12.15 |
[프로그래머스] L2 괄호 변환 / 2020 카카오 블라인드 채용 (0) | 2020.12.15 |
댓글