코딩테스트
Lv.0 swift 세균 증식
알롱도담쓰
2024. 3. 17. 23:47
문제 설명
어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요.
제한 조건
1 ≤ n ≤ 10
1 ≤ t ≤ 15
내 답안
func solution(_ n:Int, _ t:Int) -> Int {
var result = n
for _ in 1...t {
result = result * 2
}
return result
}
접근 방법
- 초기 세균의 수 n을 result에 할당해서 시작 갯수로 삼음
- 1...t 범위에 대해 반복하며, 각 반복마다 result의 값을 두 배로 증가
다른 풀이
func solution(_ n:Int, _ t:Int) -> Int {
return n * Int(pow(2.0, Double(t)))
}
n * 2^t 로 증가한다고 해서 그걸 바탕으로 함수를 쓴 건데..
알게 된 것
pow()
- x를 y의 거듭제곱으로 계산한 결과를 반환
func pow(
_ x: Decimal,
_ y: Int
) -> Decimal