알고리즘
[프로그래머스] 점프와 순간 이동
j9972
2023. 6. 29. 11:17
728x90
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/12980
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
2. 접근
1. 1부터 n까지 접근해야하는데 n부터 1로 다가간다고 생각하면 된다
2. n의 값이 짝수인지 홀수인지 판단하여, 짝수면 2로 나누고, 홀수면 -1을 해주고 ans += 1을 해준다
3. 조심해야 하는게 테스트 코드에서 n 의 값이 1일때는 1을 return 해줘야한다는 것이다
3. 풀이
def checkNum(n):
if n % 2 == 0:
return True
else:
return False
def solution(n):
ans = 0
if n == 1:
return 1
while True:
if checkNum(n):
n //= 2
else:
n -= 1
ans += 1
if n == 2:
ans += 1
break
if n == 1:
break
return ans