https://school.programmers.co.kr/learn/courses/30/lessons/181857?language=kotlin
문제
정수 배열 arr이 매개변수로 주어집니다. arr의 길이가 2의 정수 거듭제곱이 되도록 arr 뒤에 정수 0을 추가하려고 합니다. arr에 최소한의 개수로 0을 추가한 배열을 return 하는 solution 함수를 작성해 주세요.
제한사항
1 ≤ arr의 길이 ≤ 1,000
1 ≤ arr의 원소 ≤ 1,000
풀이
class Solution {
fun solution(arr: IntArray): IntArray {
var div = 1
val arrSize = arr.size
while (arrSize > div){
div *= 2
}
val answer = IntArray(div)
for (i in arr.indices){
answer[i] = arr[i]
}
return answer
}
}
- 이문제에서는 arr의 크기가 2의 거듭제곱인지 확인을 하고 해당값이 거듭제곱이 아니라면 2의 거듭제곱이 될 정도 0을 추가하라고 문제에서는 얘기합니다.
- 그렇다면 arr의 크기가 2의 거듭제곱이 되게 하려면 1에 2를 곱해가면서 해당값을 판독을 해야 합니다. 그 후 그 값으로 배열을 만들고 arr의 값들을 결과에 넣어주면 끝입니다.
결과
'코틀린 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] - 두 개 뽑아서 더하기(Kotlin) (0) | 2023.08.28 |
---|---|
[프로그래머스] - 문자열 잘라서 정렬하기(Kotlin) (0) | 2023.08.28 |
[프로그래머스] - [1차] 프렌즈4블록(Kotlin) (1) | 2023.08.21 |
[프로그래머스] - [3차] n진수 게임(Kotlin && Java) (0) | 2023.08.21 |
[프로그래머스] - 주차 요금 계산(Kotlin) (0) | 2023.08.21 |