happy coding

[level 1] 세균 증식 본문

coding study/programmars

[level 1] 세균 증식

yeoonii 2024. 3. 30. 15:47

문제 설명

어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요.

 

제한사항

  • 1 ≤ n ≤ 10
  • 1 ≤ t ≤ 15

처음 세균의 마리수 n

1시간 후 : n * 2 = 2n = 2 * n

2시간 후 : 2n * 2 = 4n = 2^2 * n

3시간 후 : 4n * 2 = 8n = 2^3 * n

t시간 후 : 2^t * n


python

: 함수말고) 제곱을 만들어보기.

- for 변수 in 리스트: 할일 로 반복해서 숫자 곱하기

- range(n)은 0부터 10 미만의 숫자를 포함하는 range 객체

def solution(n, t):
    # answer = 2^t * n 
    # 2가 t번 반복해서 곱해져야 하는 상황 2 4 8 16
    num = 1
    
    for i in range(1, t+1):
        num = 2*num
        
    answer = num * n
    
    return answer

 

메소드 사용안하고 해보겠다고 노력했는데, 나름 맞아서 뿌듯하다. 오랜만에 코딩 문제 풀어서 그런가 재밌었습니다.


다른 사람의 풀이를 참고해보니,

def solution(n, t):
    return n << t

자릿수 옮기면 편해요~

def solution(n, t):
    answer = 2**t * n
    return answer

사실 그냥 메소드 문제가 아니라 저 연산자를 기억 못해서 사용한 점

def solution(n, t):
    for i in range(t) :
        n *= 2
    return n

간단하게 작성할 수 있었던 거였죠.


인턴 시작하고 나서 더욱 코딩 문제를 풀어야 겠다는 생각을 하게되었는데, 습관적으로 문제를 풀길 바랍니다..

'coding study > programmars' 카테고리의 다른 글

[level 0] 머쓱이보다 키 큰 사람  (0) 2024.04.14
[level 0] 옹알이(1)  (1) 2024.04.13
[java] Lv.0 배열 자르기  (0) 2023.08.15
[java] Lv.0 피자 나눠 먹기(1)  (0) 2023.08.14
[java] Lv.0 배열 뒤집기  (0) 2023.08.14
Comments