Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 구현
- java
- leetcode
- mysql
- siver3
- 개념
- LCS
- leetcode 69
- Kakao
- 프로그래머스
- AWS
- 백준
- Thymeleaf
- PYTHON
- spring
- LEVEL2
- HTML
- gold2
- 9252
- jpa
- 백엔드
- glod4
- error
- glod5
- gold5
- CSS
- 오류
- 배포
- Gold4
- LEVEL1
Archives
- Today
- Total
이 험난한 세상에서어어~
콜라 문제, python 본문
문제 설명
문제가 굉장히 긴데, 간단하게 말하자면 콜라 a병 만큼을 가져가면 b 병만큼 돌려줄 때, 얼마나 많은 콜라를 돌려받았는지 계산하는 문제다. 특정한 알고리즘을 쓰는 게 아니라 단순 계산 문제라고 할 수 있다.
https://school.programmers.co.kr/learn/courses/30/lessons/132267
문제 풀이
첫 번째 접근
일단 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 |