본문 바로가기
프로그래머스/프로그래머스 Lv0

Lv0 배열의 길이를 2의 거듭제곱으로 만들기

by 독기품기 2024. 5. 23.

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

 

프로그래머스

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

programmers.co.kr

이 문제는 문제를 읽으면서 어떻게 구현하나 손으로 식을 구현하면서 풀었다.

일단 비교할 수인 compare를 선언하고 배열의 길이를 arr_length에 대입한 후에 while compare < arr_length를 이용해

compare *=2를 해서 2의 거듭제곱으로 만들어줬다.

*=2를 할 것이기에 compare = 1를 해주어야 한다. 0을 대입하면 계속 0만 곱해져 무한루프가 발생하니 유의해야 한다.

compare가 더 커질 때 return arr + [0] * (compare - arr_length)를 하게 되면 기존에 배열을 출력하면서 배열의 길이가 2의 거듭제곱이 되도록 [0]이 출력된다.

주어진 arr가 2의 거듭제곱의 길이라면 compare - arr_length는 0이 되서 arr만 리턴된다.

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

Lv0 간단한 논리 연산  (0) 2024.05.25
Lv0 1로 만들기  (0) 2024.05.25
Lv0 한 번만 등장한 문자  (0) 2024.05.23
Lv0 가까운 수  (0) 2024.05.22
Lv0 K의 개수  (0) 2024.05.21