https://school.programmers.co.kr/learn/courses/30/lessons/12980#qna
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
Level 2. 점프와 순간 이동
접근 방식
현재 n이 짝수면 순간이동인 n = n/2로, 홀수면 점프 n = (n-1)/2로 계산한다.
홀수일 때 점프하는 것이므로 ans를 ++ 한다.
최종 코드
public class Solution {
public int solution(int n) {
int ans = 1;
while(n!=1){
if(n%2==0){ //순간이동
n = n/2;
}
else{ //점프
n = (n-1)/2;
ans++;
}
}
return ans;
}
}
고찰
문제 설명이 너무 부족한 것 같다. 왜냐면 나를 너무 헷갈리게 만듦 하하
생각보다 접근법은 떠올리고 나면 아주 간단할 것 같다. 그게 어려운 거겠지만.. 노트에 작성하면서 차근차근 접근하면 될 것 같다.
이상한 생각으로 접근하고 있다가 문제가 이해가 안 돼서 죽는 줄 알았다..
'알고리즘 > Java' 카테고리의 다른 글
[프로그래머스] Java - 귤 고르기 (0) | 2023.05.02 |
---|---|
[프로그래머스] Java - 구명보트 (0) | 2023.04.29 |
[프로그래머스] Java - N개의 최소공배수 (0) | 2023.04.28 |
[프로그래머스] Java - 예상 대진표 (0) | 2023.04.28 |
[프로그래머스] Java - 짝지어 제거하기 (0) | 2023.04.26 |