Home > Algorithm > BOJ > [BOJ] 11047๋ฒˆ ๋™์ „ 0

[BOJ] 11047๋ฒˆ ๋™์ „ 0
C++ ๋ฐฑ์ค€ BOJ ์•Œ๊ณ ๋ฆฌ์ฆ˜ Algorithm

๐Ÿ”— ๋ฌธ์ œ

https://www.acmicpc.net/problem/11047


๐Ÿ“Œ ๋ฌธ์ œ ์š”์•ฝ

์ค€๊ทœ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋™์ „์€ ์ด N์ข…๋ฅ˜์ด๊ณ , ๊ฐ๊ฐ์˜ ๋™์ „์„ ๋งค์šฐ ๋งŽ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
๋™์ „์„ ์ ์ ˆํžˆ ์‚ฌ์šฉํ•ด์„œ ๊ทธ ๊ฐ€์น˜์˜ ํ•ฉ์„ K๋กœ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ์ด๋•Œ ํ•„์š”ํ•œ ๋™์ „ ๊ฐœ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.์‹œ๊ฐ„์˜ ํ•ฉ์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ: ์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค N โ‰ค 10, 1 โ‰ค K โ‰ค 100,000,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๋™์ „์˜ ๊ฐ€์น˜ Ai๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค Ai โ‰ค 1,000,000, A1 = 1, i โ‰ฅ 2์ธ ๊ฒฝ์šฐ์— Ai๋Š” Ai-1์˜ ๋ฐฐ์ˆ˜)
์ถœ๋ ฅ: ์ฒซ์งธ ์ค„์— K์›์„ ๋งŒ๋“œ๋Š”๋ฐ ํ•„์š”ํ•œ ๋™์ „ ๊ฐœ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.


๐Ÿ’ก ์ ‘๊ทผ ๋ฐฉ๋ฒ•

N์ข…๋ฅ˜์˜ ๋™์ „์ด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ž…๋ ฅ ๋˜๊ธฐ ๋•Œ๋ฌธ์—
K๊ฐ’์„ N๋ฒˆ์งธ ๋™์ „๋ถ€ํ„ฐ ํ•˜ํ–ฅ์‹์œผ๋กœ ๋‚ด๋ ค์˜ค๋ฉฐ ๋‚˜๋ˆ  ์ดํ•ฉ์„ ๊ตฌํ–ˆ๋‹ค.


โš ๏ธ ์ฒ˜์Œ์— ํ–ˆ๋˜ ์‹ค์ˆ˜


๐Ÿ’ป ์ฝ”๋“œ

#include <algorithm>
#include <iostream>
using namespace std;

int N, K;
int A[11];
int main() {
  cin >> N >> K;

  for (int i = 0; i < N; ++i) {
    cin >> A[i];
  }
  int ans = 0;
  for (int i = N - 1; i >= 0; --i) {
    int cnt = K / A[i];
    if (cnt > 0) {
      ans += cnt;
      K %= A[i];
    }
  }

  cout << ans;
  return 0;
}