프로그래머스 (Swift)/기초
[Day20-1] 배열의 길이를 2의 거듭제곱으로 만들기
은더기
2024. 5. 11. 20:28
문제
내 정답 코드
import Foundation
func solution(_ arr:[Int]) -> [Int] {
var arr = arr
let count = arr.count
var two = 1
while(true) {
if count <= two {
let zeroCount = two - count
(0..<zeroCount).map { _ in arr.append(0) }
break
}
two *= 2
}
return arr
}
#
1. 먼저 무한 반복문을 돌리고 2를 계속 곱한다.
2. 2의 거듭 제곱과 배열의 개수를 비교하면서 개수가 2의 거듭제곱 값보다 작거나 같아진다면
3. 비는 공간만큼 0을 채워 반복문을 탈출하고 반환한다.
배운 기술