본문 바로가기

Algorithm/Implementation

(Python3) - 프로그래머스(코딩 기초 트레이닝) : 배열의 길이를 2의 거듭제곱으로 만들기

반응형

https://school.programmers.co.kr/learn/courses/30/lessons/181857

 

프로그래머스

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

programmers.co.kr

간단 구현 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

1. 정답변수 answer 선언 후 arr로 초기화합니다.2. 추가할 배열 길이 append_len을 선언 후 1로 초기화합니다.

📔 풀이과정

1. arr의 길이보다 작은 동안 while loop를 수행해 append_len에 2를 곱해줍니다.2. append_len에서 arr 길이만큼 값을 빼서 추가해야되는 길이를 구해줍니다.3. answer에서 append_len만큼 0배열을 뒤에 extend해줍니다.

📔 정답 출력 | 반환

ansewr를 반환합니다.


📕 Code

📔 Python3

def solution(arr):
    answer = arr
    append_len = 1
    while append_len < len(arr):
        append_len *= 2
    append_len -= len(arr)
    answer.extend([0]*append_len)
    return answer

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.