이 험난한 세상에서어어~

콜라 문제, python 본문

algorithm/코딩 테스트

콜라 문제, python

토끼띠NJW 2023. 6. 3. 12:05

문제 설명

문제가 굉장히 긴데, 간단하게 말하자면 콜라 a병 만큼을 가져가면 b 병만큼 돌려줄 때, 얼마나 많은 콜라를 돌려받았는지 계산하는 문제다. 특정한 알고리즘을 쓰는 게 아니라 단순 계산 문제라고 할 수 있다.

https://school.programmers.co.kr/learn/courses/30/lessons/132267

 

프로그래머스

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

programmers.co.kr

문제 풀이

첫 번째 접근

일단 n보다 a가 작으면 돌려받을 만한 콜라 병의 수를 체울 수 없기 때문에 0을 반환한다.

 

그리고 반복문을 돌리는데, 만일 위의 조건에 해당하면 탈출하도록 한다.

돌려받을 수 있는 콜라의 수는 n//a에다가 b를 곱한 수다.

그리고 이 수를 answer에 더해준다.

그리고 남은 콜라의 수는 n%a로 설정한 후 n에다가 돌려받은 콜라의 수와 남은 콜라의 수를 더해주면 된다.

 코드

def solution(a, b, n):
    answer = 0
    
    if n < a:
        return answer
    
    while True:
        if n < a:
            break
        
        coke = (n//a)*b
        answer += coke
        left = n%a
        
        n = left+coke
    return answer

'algorithm > 코딩 테스트' 카테고리의 다른 글

공원 산책  (0) 2023.06.18
로봇 청소기, python  (0) 2023.06.18
크기가 작은 부분 문자열, python  (0) 2023.06.03
가장 가까운 같은 글자, python  (0) 2023.06.03
카드 뭉치, python  (0) 2023.06.03