문제 설명
정수 배열 arr이 매개변수로 주어집니다. arr의 길이가 2의 정수 거듭제곱이 되도록 arr 뒤에 정수 0을 추가하려고 합니다. arr에 최소한의 개수로 0을 추가한 배열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤ arr의 길이 ≤ 1,000
- 1 ≤ arr의 원소 ≤ 1,000
풀이
import java.util.Arrays;
class Solution {
public int[] solution(int[] arr) {
int leng = arr.length;
int target = 1;
while (target < leng) { // arr의 길이보다 작은 2의 거듭제곱을 찾는다 (2,4,8...)
target *= 2;
}
int [] answer = new int[target]; // 위에서 구한 거듭제곱의 길이만큼 배열 생성
Arrays.fill(answer, 0);
System.arraycopy(arr, 0, answer, 0, leng); // arr를 answer로 배열 복사
return answer;
}
}
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'알고리즘 & 코딩 테스트 > [Java]프로그래머스' 카테고리의 다른 글
| [프로그래머스_Java] Lv.0 간단한 논리 연산 (1) | 2024.01.04 |
|---|---|
| [프로그래머스_Java] Lv.0 진료 순서 정하기 (1) | 2024.01.04 |
| [프로그래머스_Java] Lv.0 세 개의 구분자 (1) | 2024.01.04 |
| [프로그래머스_Java] Lv.0 문자열이 몇 번 등장하는지 세기 (1) | 2024.01.04 |
| [프로그래머스_Java] Lv.0 수열과 구간 쿼리 4 (2) | 2024.01.04 |