😎 κ³΅λΆ€ν•˜λŠ” μ§•μ§•μ•ŒνŒŒμΉ΄λŠ” μ²˜μŒμ΄μ§€?

[BAEKJOON C++] 11047_동전 0 λ³Έλ¬Έ

πŸ¦₯ μ½”ν…Œ/BAEKJOON

[BAEKJOON C++] 11047_동전 0

μ§•μ§•μ•ŒνŒŒμΉ΄ 2023. 8. 17. 09:49
728x90
λ°˜μ‘ν˜•
μ€€κ·œκ°€ κ°€μ§€κ³  μžˆλŠ” λ™μ „은 μ΄ 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원을 λ§Œλ“œλŠ”데 ν•„μš”ν•œ λ™μ „ κ°œμˆ˜μ˜ μ΅œμ†Ÿκ°’을 μΆœλ ₯ν•œλ‹€.
// [11047] 동전 0

/*
μ€€κ·œκ°€ 가지고 μžˆλŠ” 동전은 총 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원을 λ§Œλ“œλŠ”λ° ν•„μš”ν•œ 동전 개수의 μ΅œμ†Ÿκ°’μ„ 좜λ ₯ν•œλ‹€.

*/

#define _CRT_SECURE_NO_WARNINGS
// ν‘œμ€€ μŠ€νŠΈλ¦Όμ—μ„œ 읽기 및 μ“°κΈ°λ₯Ό μ œμ–΄ν•˜λŠ” 개체λ₯Ό μ„ μ–Έ
#include <iostream>
#include <algorithm>    // find
#include <string>
#include <cmath>        // abs
#include <vector>
#include <queue>
using namespace std;

int main() {
	int N, K;
	int A[10];

	cin >> N >> K;

	for (int i = 0; i < N; i++) {
		cin >> A[i];
	} //A1 = 1, AiλŠ” A(i-1)의 배수

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

	cout << count << endl;
	return 0;
}

728x90
λ°˜μ‘ν˜•
Comments