개발 창고/Algorithm
[프로그래머스] 콜라 문제 - JAVA
로이제로
2024. 3. 10. 08:00
반응형
- 문제
- 풀이
문제
https://school.programmers.co.kr/learn/courses/30/lessons/132267
문제 내용은 지적 재산 보호 차원에서 가져오지 않고 풀이만 공유드리도록 하겠습니다.
풀이
제 풀이가 무조건적으로 맞는 것도 최적의 답변도 아니지만, 이런 풀이도 있다는 차원에서 작성해 보며, 좀 더 나은 방법이 있다면 이야기해 주셔도 도움 될 것 같습니다.
import java.lang.Math;
class Solution {
public int solution(int a, int b, int n) {
int answer = 0;
int remain = 0; // 나머지
while(n >= a){
int gain = (int)(Math.floor(n / a)) * b; // 교환된 병의 개수
remain = n % a; // 교환되지 않은 병의 개수
answer += gain; // 교환된 병의 개수 합산
n = gain + remain; // 현재 병의 개수 = 교환된 병의 개수 + 교환되지 않은 병의 개수
// System.out.println(n + " " + gain + " " + remain);
}
// System.out.println(answer + " " + remain);
return answer;
}
}
반응형