https://school.programmers.co.kr/learn/courses/30/lessons/132267
π νμ΄ 3 : μ΄ κ΅ν νμ * bκ°
μ΄ κ΅ν νμ = `(n - b) / (a - b)`β
- `n - b` : μ€μ κ΅νμ μ¬μ©λλ λΉ λ³ κ°μ(λ§μ§λ§μ λ°λ bκ°λ κ΅νμ μ¬μ©ν μ μμΌλ―λ‘ μ μΈ)
- `a - b` : κ΅ν μ κ°μλλ λΉ λ³ κ°μ
class Solution {
// 'λΉ λ³ aκ° -> μ½λΌ bκ°'μΌ λ, λΉ λ³ nκ°λ‘ λ°μ μ μλ μ½λΌμ μ΄ κ°μ λ°ν
public int solution(int a, int b, int n) {
return ((n - b) / (a - b)) * b; // μ΄ κ΅ν νμ * κ΅ν μ λ°λ λ³ κ°μ
}
}
π νμ΄ 2 : λ°λ³΅λ¬Έ(bκ°μ© λ°κΈ°)
μ½λλ§ κ°λ¨ν λΏ λΉν¨μ¨μ μ΄λ€.
class Solution {
// 'λΉ λ³ aκ° -> μ½λΌ bκ°'μΌ λ, λΉ λ³ nκ°λ‘ λ°μ μ μλ μ½λΌμ μ΄ κ°μ λ°ν
public int solution(int a, int b, int n) {
int totalGet = 0; // λ°μ μ½λΌ μ΄ κ°μ
while (n >= a) {
totalGet += b; // λ°μ μ½λΌ κ°μ λμ (bκ°μ© λ°κΈ°)
n = (n - a) + b; // κ΅ν ν λ¨μ λΉ λ³ κ°μ κ³μ°(aκ° μ£Όκ³ bκ° λ°μ)
}
return totalGet;
}
}
π νμ΄ 1 : λ°λ³΅λ¬Έ(n / a * bκ°μ© λ°κΈ°)
class Solution {
// 'λΉ λ³ aκ° -> μ½λΌ bκ°'μΌ λ, λΉ λ³ nκ°λ‘ λ°μ μ μλ μ½λΌμ μ΄ κ°μ λ°ν
public int solution(int a, int b, int n) {
int totalGet = 0; // λ°μ μ½λΌ μ΄ κ°μ
while (n >= a) {
totalGet += (n / a) * b; // λ°μ μ½λΌ κ°μ λμ (λ°μ μ μλ κ°μ νλ²μ λ°κΈ°)
n = (n % a) + (n / a) * b; // κ΅ν ν λ¨μ λΉ λ³ κ°μ κ³μ°(λ¨μ μ½λΌ + λ°μ μ½λΌ)
}
return totalGet;
}
}