๋ฌธ์
์ค๊ท๊ฐ ๊ฐ์ง๊ณ ์๋ ๋์ ์ ์ด 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์์ ๋ง๋๋๋ฐ ํ์ํ ๋์ ๊ฐ์์ ์ต์๊ฐ์ ์ถ๋ ฅํ๋ค.
ํ์ด
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ ๋ฌธ์
01. vector์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฅ๋ ์ซ์๋ฅผ ๋ฃ๋๋ค
02. algorithm ํค๋์ reverse ํจ์๋ฅผ ์ด์ฉํด ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ผ ํฐ ์๋ถํฐ ๋๋๊ธฐ ๋๋ฌธ
03. ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ vector๋ฅผ ์ด์ฉํ์ฌ ๋์ ๊ฐ์์ ์ต์๊ฐ์ ๊ตฌํ๋ค
#include <iostream>
#include <vector>
#include <algorithm> // reverse
using namespace std;
int main(){
int N, K, num, cnt=0;
cin >> N >> K;
vector<int> v;
// 01. vector์ ๋ฃ๊ธฐ
for (int i=0; i<N; i++){
cin >> num;
v.push_back(num);
}
// 02. ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ค์ง๊ธฐ
reverse(v.begin(), v.end());
// 03. ์ต์ ๊ฐ์ ๊ตฌํ๊ธฐ
for (int i=0; i<N; i++){
if (K >= v[i]){
cnt += K/v[i];
K %= v[i];
}
}
cout << cnt;
}
'โจ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค/C++] ์ฒด์ก๋ณต(Greedy) (0) | 2021.08.24 |
---|---|
[๋ฐฑ์ค/C++] 11399๋ฒ : ATM (0) | 2021.08.16 |
[๋ฐฑ์ค/C++] 1931๋ฒ : ํ์์ค ๋ฐฐ์ (0) | 2021.08.15 |
[๋ฐฑ์ค/C++] 10162๋ฒ : ์ ์๋ ์ธ์ง (0) | 2021.08.15 |
[๋ฐฑ์ค/C++] 5585๋ฒ : ๊ฑฐ์ค๋ฆ๋ (0) | 2021.08.15 |
๋๊ธ