관리 메뉴

나만을 위한 블로그

[Algorithm] 프로그래머스 - 세균 증식 (Kotlin) 본문

알고리즘 문제 풀이/프로그래머스

[Algorithm] 프로그래머스 - 세균 증식 (Kotlin)

참깨빵위에참깨빵_ 2023. 1. 10. 18:31
728x90
반응형
어떤 세균은 1시간에 2배 증식한다. 처음 세균의 마리수 n, 경과한 시간 t가 매개변수로 주어질 때, t시간 후 세균의 수를 리턴하는 solution()을 완성하라

 

 

간단한 등비수열 문제다. 1시간에 2배씩 증식한다고 문제에서 정했기 때문에 이것에 주의하면서 풀면 된다.

아래는 주먹구구식으로 푼 코드다.

 

class Solution {
    fun solution(n: Int, t: Int): Int {
        var answer = n
        repeat(t) {
            answer *= 2
        }

        return answer
    }
}

 

이것을 줄이는 시도를 했는데 생각나지 않아서 다른 사람의 풀이를 참고했다.

 

class Solution {
    fun solution(n: Int, t: Int) = n shl t
}

 

shl은 코틀린의 비트 연산자 중 하나인데 나는 and, or 계산만 &&과 ||을 써서 했지 shl이란 게 있다는 건 몰랐었다. 이것을 실행하면 주먹구구식 코드와 똑같이 프로그래머스에서 통과 처리된다.

반응형
Comments