반응형
🔺 문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
🔺 코드
(틀림 : DP)
틀림 : DP 활용한 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import java.util.*;
import java.io.*;
public class Solution {
public long solution(int n) {
int ans = 0;
long[] dp = new long[n + 1];
dp[1] = dp[2] = 1;
if(n <= 2) {
return dp[n];
}
for(int i = 3 ; i <= n ; i++) {
dp[i] = (i % 2 == 0) ? dp[i / 2] : (dp[i-1] + 1) ;
}
return dp[n];
}
}
|
cs |
아무래도 N이 10억이다 보니...
- 정답
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import java.util.*;
import java.io.*;
public class Solution {
public int solution(int n) {
int ans = 0;
while(n > 0) {
if(n % 2 == 1) {
ans++;
}
n /= 2;
}
return ans;
}
}
|
cs |
✅ 해결 아이디어
✔ 재귀 (Top-Down)
- n/2가 홀수인 경우, ans에 1을 더함
- 위 과정을, n이 0보다 클 때까지만 반복
💥 유의사항
• 숫자 N, 1 이상 10억 이하의 자연수
🔺 다른 풀이들
[프로그래머스 - Java] 점프와 순간 이동
minhamina.tistory.com
💬 느낀 점
DP로 풀려다가 장렬히 실패..
담엔 더 빨리 풀겠다
1회독 | 2회독 | 3회독 | 4회독 | 5회독 |
V |
(참고)
[Java] 프로그래머스 - 점프와 순간 이동 (Level 2)
코딩테스트 연습 - 점프와 순간 이동 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하
seongho96.tistory.com
반응형
'코테 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Lv. 2] 소수 찾기 (JAVA) (0) | 2023.09.13 |
---|---|
[프로그래머스/Lv. 2] n^2 배열 자르기 (JAVA) (0) | 2023.09.13 |
[프로그래머스] 괄호 회전하기 (0) | 2023.07.31 |
[프로그래머스/Lv. 3] 디스크 컨트롤러 (JAVA) (0) | 2023.07.31 |
[프로그래머스/Lv. 2] 주식 가격 (0) | 2023.07.02 |