티스토리 뷰
문제 설명
어떤 세균은 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
'코딩테스트' 카테고리의 다른 글
Lv.0 swift 자릿수 더하기 (0) | 2024.03.18 |
---|---|
Lv.0 Swift 점의 위치 구하기 (0) | 2024.03.18 |
Lv.0 swift 짝수의 합 (0) | 2024.03.17 |
Lv.0 Swift 각도기 (0) | 2024.03.17 |
Lv.0 swift 두 수의 나눗셈 (1) | 2024.03.17 |
최근에 올라온 글