관리 메뉴

솜씨좋은장씨

[Programmers] 콜라 문제 (Python) 본문

Programming/코딩 1일 1문제

[Programmers] 콜라 문제 (Python)

솜씨좋은장씨 2022. 10. 24. 12:45
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 콜라 문제 입니다.

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

👨🏻‍💻 문제 풀이

a개의 빈병을 제출했을때 b개의 콜라를 다시 준다고하면

현재 가지고 있는 병의 개수에서 제출할 병의 개수는 n // a * b 개

제출하고 남아있는 병의 개수는 n - n // a * b 개

제출하고 받은 병의 개수는 n // a * b

 

빈병을 제출했다가 다시 콜라를 받은 뒤 남은 병의 개수는 n - n // a * b + n // a * b

 

이걸 계속 반복하다가

n 이 a 보다 작아질때 반복문을 종료하면 됩니다.

👨🏻‍💻 코드 ( Solution )

def solution(a, b, n):
    answer = 0
    
    while True:
        if n < a:
            break
        submit_bottle = n // a * a
        return_bottle = n // a * b
        
        extra_bottle = n - submit_bottle
        
        n = extra_bottle + return_bottle
        
        answer += return_bottle
    
    return answer

 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments