✨ Algorithm

[λ°±μ€€/C++] 5585번 : κ±°μŠ€λ¦„λˆ

nitronium102 2021. 8. 15. 23:25

문제

νƒ€λ‘œλŠ” 자주 JOIμž‘ν™”μ μ—μ„œ 물건을 μ‚°λ‹€. JOIμž‘ν™”μ μ—λŠ” μž”λˆμœΌλ‘œ 500μ—”, 100μ—”, 50μ—”, 10μ—”, 5μ—”, 1엔이 μΆ©λΆ„νžˆ 있고, μ–Έμ œλ‚˜ κ±°μŠ€λ¦„λˆ κ°œμˆ˜κ°€ κ°€μž₯ 적게 μž”λˆμ„ μ€€λ‹€. νƒ€λ‘œκ°€ JOIμž‘ν™”μ μ—μ„œ 물건을 사고 μΉ΄μš΄ν„°μ—μ„œ 1000μ—” 지폐λ₯Ό ν•œμž₯ λƒˆμ„ λ•Œ, 받을 μž”λˆμ— ν¬ν•¨λœ μž”λˆμ˜ 개수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯

μž…λ ₯은 ν•œμ€„λ‘œ μ΄λ£¨μ–΄μ Έμžˆκ³ , νƒ€λ‘œκ°€ μ§€λΆˆν•  돈(1 μ΄μƒ 1000미만의 μ •μˆ˜) 1κ°œκ°€ μ“°μ—¬μ Έμžˆλ‹€.

좜λ ₯

μ œμΆœν•  좜λ ₯ νŒŒμΌμ€ 1ν–‰μœΌλ‘œλ§Œ λ˜μ–΄ μžˆλ‹€. μž”λˆμ— ν¬ν•¨λœ 맀수λ₯Ό 좜λ ₯ν•˜μ‹œμ˜€.

풀이

// κ±°μŠ€λ¦„λˆ
#include <iostream>
using namespace std;

int main(){
  int money, cnt=0;
  cin >> money;

  money = 1000-money;
  int change[] = {500, 100, 50, 10, 5, 1};
  for (int i=0; i<6; i++){
    if (money < change[i])
      continue;
    cnt += money/change[i];
    money %= change[i];
  }

  cout << cnt;
}