코딩 테스트/프로그래머스

Lv2. 점프와 순간이동

  • -
728x90
반응형

문제 보기 :   점프와 순간 이동

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


문제

  • 정답률 : 68%


작성 코드

def solution(n):
    answer = 0
    k = 1
    while n != 0:
        if n%2==0:
            n //= 2
        else:
            answer += k
            n -= 1
    return answer

해설 : 0부터 괄호 안에 있는 숫자를 문제에서 주어진 규칙에 따라 더하면서, 괄호 내 숫자보다 작은 수도 규칙에 맞게 더하면서 n이 되는 나름대로의 수열?을 만들었다.

알고리즘 문제만 한 300문제 풀다보면서 느끼고 배운건 무턱대로 문제 설명과 예시만 보고 들이대지 말고,
알고리즘 과정을 내 나름대로 써보면서 규칙도 찾고 수열도 만들어봐야한다는 점..

암튼 이 문제는 첨에는 두시간 정도 엄청 헤맸는데, 아래 예시 써보자마자 5분만에 해결했다.

- n : 7일 때
0-(3) 3 6 (1) 7 // 건전지 사용량 : 4
0-(1) 1 2 (1) 3 6 (1) 7 // 건전지 사용량 : 3

- n : 8일 때
0-(2) 2-4-8 // 건전지 사용량 : 2
0-(1) 1-2-4-8 // 건전지 사용량 : 1

- n : 9일 때
0-(2) 2-4-8- (1) 9// 건전지 사용량 :3
0-(1) 1-2-4-8-(1) 9 // 건전지 사용량 : 2

- n : 11일 때
0-(2) 2-4- (1) 5-10- (1) 11//건전지 사용량 : 4
0-(1) 1-2-4-(1) 5-10-(1) 11 // 건전지 사용량 : 3

320x100
728x90

'코딩 테스트 > 프로그래머스' 카테고리의 다른 글

Lv2. 행렬의 곱셈  (0) 2024.07.16
Lv2. N개의 최소공배수  (0) 2024.07.15
Lv1. 실패율  (0) 2024.07.13
Lv2. 다음 큰 숫자  (0) 2024.07.13
Lv2. JadenCase 문자열 만들기  (0) 2024.07.13
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.