그리λ μκ³ λ¦¬μ¦ (=νμλ²)
μ΄λ ν λ¬Έμ λ₯Ό λ¨μ 무μνκ², νμμ μΌλ‘ λ¬Έμ λ₯Ό νΈλ μκ³ λ¦¬μ¦!
→ νμμ ? νμ¬ μν©μμ μ§κΈ λΉμ₯ μ’μ κ²λ§ κ³ λ₯΄λ λ°©λ²!
그리λ μκ³ λ¦¬μ¦μ μ΄μ©νλ©΄ 맀 μκ° κ°μ₯ μ’μ 보μ΄λ κ²μ μ ννλ©°, νμ¬μ μ νμ΄ λμ€μ λ―ΈμΉ μν₯μ λν΄μλ κ³ λ €νμ§ μμ
그리λ μκ³ λ¦¬μ¦ μ ν
'μ¬μ μ μΈμ°κ³ μμ§ μμλ ν μ μμ κ°λ₯μ±μ΄ λμ λ¬Έμ μ ν!'
ex) μ¬λ¬ κ°μ λ°μ΄ν°λ₯Ό λΉ λ₯΄κ² μ λ ¬ν΄μΌ νλ λ¬Έμ → μ λ ¬ λΌμ΄λΈλ¬λ¦¬ μ¬μ©!
μ΅λ¨ κ²½λ‘λ₯Ό λΉ λ₯΄κ² μ°ΎμμΌ νλ λ¬Έμ → νλ‘μ΄λ μμ or λ€μ΅μ€νΈλΌ μκ³ λ¦¬μ¦ μ¬μ©!
λ°λΌμ, 그리λ μκ³ λ¦¬μ¦ μ νμ λλΉνκΈ° μν΄ λ§μ λ¬Έμ λ₯Ό νΈλκ² μ₯λ‘
(μ°½μλ ₯κ³Ό μμ΄λμ΄λ₯Ό μꡬνλ λ¬Έμ !)
→ κΈ°μ€ ? ex) "κ°μ₯ ν° μμλλ‘" / "κ°μ₯ μμ μμλλ‘" μ΄μ κ°μ κΈ°μ€μ ν΅ν΄ μ΅μ ν΄λ₯Ό μ°ΎμμΌ νλ€.
그리λ μκ³ λ¦¬μ¦ μμ
λΉμ μ μμμ μ κ³μ°μ λμμ£Όλ μ μμ΄λ€. μΉ΄μ΄ν°μλ κ±°μ€λ¦λμΌλ‘ μ¬μ©ν 500μ, 100μ, 50μ, 10μ λμ μ΄ λ¬΄νν μ‘΄μ¬νλ€κ³ κ°μ νλ€. μλμκ² κ±°μ¬λ¬ μ€μΌ ν λμ΄ NμμΌ λ κ±°μ¬λ¬ μ€μΌ ν λμ μ μ΅μ κ°μλ₯Ό ꡬνλΌ. (λ¨, Nμ νμ 10μ λ°°μ) |
"그리λ μκ³ λ¦¬μ¦μ λν λ¬Έμ !!"
→ μμ΄λμ΄ ? "κ°μ₯ ν° νν λ¨μλΆν° κ±°μ¬λ¬μ£Όμ!"
500μ →100μ → 50μ → 10μ μμλλ‘
ex) N = 1260μ
1. 500μ
1260μ >= 500μ x 2 → λ°λΌμ, 500μ 2κ° κ±°μ¬λ¬μ£Όμ
2. 100μ
260μ >= 100μ x 2 → λ°λΌμ, 100μ 2κ° κ±°μ¬λ¬μ£Όμ
3. 50μ
60μ >= 50μ x 1 → λ°λΌμ, 50μ 1κ° κ±°μ¬λ¬μ£Όμ
3. 10μ
10μ >= 10μ x 1 → λ°λΌμ, 10μ 1κ° κ±°μ¬λ¬μ£Όμ. κ·ΈλΌ λ!
κ·Έλ¬λ©΄ μ΄λ° λ¬Έμ λ₯Ό μμ€μ½λλ‘ μμ±νλ©΄ μ΄λ»κ² μμ±ν΄μΌ ν κΉ?
#include <iostream>
#include <vector>
using namespace std;
int main(void) {
int N = 1260, res = 0;
vector<int> coin = { 500, 100, 50, 10 };
for (int i = 0; i < 4; i++) {
res += N / coin[i];
N %= coin[i];
}
cout << "λμ κ°―μ : " << res << "κ°";
}
μ§μ ꡬνν μ½λλ₯Ό 보면 μ΄λ ΅μ§ μκ² κ΅¬νν μ μλ€.
ννμ μ’ λ₯μ λ°λΌ λ°λ³΅λ¬Έμ λλ¦¬κ³ , κ° ννλ‘ μ΄ κΈμ‘μ λͺ« μ°μ°νλ©΄ κ±°μ¬λ¬μ€μΌν λμ κ°―μκ° λμ¨λ€.
λν, κ±°μ¬λ¬μ£Όκ³ λ€μ μμ νν λ¨μλ‘ λμ΄κ°κΈ° μν΄ κ±°μ¬λ¬μ€ ν κΈμ‘μ μ μ©νκΈ° μν΄ λλ¨Έμ§ μ°μ°μ νλ€.
그리λ μκ³ λ¦¬μ¦μ μ λΉμ±
그리λ μκ³ λ¦¬μ¦μ λͺ¨λ μκ³ λ¦¬μ¦ λ¬Έμ μ μ μ©ν μ μλ€!
→ 그리λ μκ³ λ¦¬μ¦ λ¬Έμ μ ν΄λ²μ μ°Ύμμ κ²½μ°, κ·Έ ν΄λ²μ΄ μ λΉνμ§ κ²ν ν΄μΌνλ€! μμ κ°μ μμ λ₯Ό 보면,
'κ°μ§ λμ μ€μμ ν° λ¨μκ° νμ μμ λ¨μμ λ°°μμ΄λ―λ‘ μμ λ¨μμ λμ λ€μ μ’ ν©ν΄ λ€λ₯Έ ν΄κ° λμ¬ μ μκΈ° λλ¬Έ'
ex) 800μμ κ±°μ¬λ¬μ€ λ, ννλ¨μκ° [500, 400,100] μΈ κ²½μ°μΌ λ, μμ κ°μ μμ€μ½λλ‘ λ리면 λμ κ°―μλ 4κ°κ° λμ¨λ€. νμ§λ§, 800 = 400 + 400μ΄λ―λ‘ λλ€λ₯Έ μ΅μ ν΄κ° λμ¨λ€. λ΅μ λμ κ°―μ 2κ°.
λ°λΌμ, λλΆλΆμ 그리λ μκ³ λ¦¬μ¦ λ¬Έμ μμλ μ΄μ²λΌ λ¬Έμ νμ΄λ₯Ό μν μ΅μνμ μμ΄λμ΄λ₯Ό λ μ¬λ¦¬κ³ μ΄κ²μ΄ μ λΉνμ§ κ²ν ν μ μμ΄μΌ λ΅μ λμΆ κ°λ₯!
→ λ§μ½, μ½λ© ν μ€νΈμμ μ΄λ€ λ¬Έμ μ νμΈμ§ νμ νκΈ° μ΄λ ΅λ€λ©΄ μ°μ '그리λ μκ³ λ¦¬μ¦'μ μμ¬νλΌ!
μμ¬ μμ : 그리λ → λ€μ΄λλ―Ή → κ·Έλν
μΆμ² : μ΄κ²μ΄ μ·¨μ μ μν μ½λ©ν μ€νΈλ€ with νμ΄μ¬ : μ·¨μ κ³Ό μ΄μ§μ κ²°μ νλ μκ³ λ¦¬μ¦ μΈν°λ·° μλ²½ κ°μ΄λ
'π Algorithm > Algorithm' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μ λ ¬ - μ½μ μ λ ¬ (0) | 2021.01.03 |
---|---|
μ λ ¬ - μ ν μ λ ¬ (0) | 2020.11.25 |
ꡬν - μκ³ λ¦¬μ¦μ μ ννκ³ λΉ λ₯΄κ² νλ‘κ·Έλ¨μΌλ‘ μμ±νκΈ° (0) | 2020.11.14 |