[๋ฐฑ์ค(BOJ)] 11047๋ฒ: ๋์ 0 (Greedy Algorithm(๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ), C++)
์ต์์ ๋์ ๊ฐ์๊ฐ ๋๋ ค๋ฉด ๊ฐ์ฅ ํฐ ๋์ ๋ถํฐ ์ฌ์ฉํด์ผ ํ๋ค.
๋ฐ๋ผ์ ๋ฐฐ์ด A ๋์์๋ถํฐ ํ์์ ํ๊ณ , A[i] > K์ด๋ฉด continueํ๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด count์ K / A[i], ์ฆ A[i]์์ ์ต๋๋ก ์ฌ์ฉํ ์ ์๋ ๋์ ๊ฐ์๋ฅผ ๋ํ๊ณ , ๊ทธ๋งํผ K % A[i]๋ฅผ K๋ฅผ ์ค์ ์ด๋ฏธ ํ ๋นํ ๊ฒ์ ์ ์ธํ๋ค.
#include <stdio.h>
using namespace std;
int main(){
int N,K, count=0; // N: ๋์ ์ ์ข
๋ฅ, K: ๊ฐ์น์ ํฉ
scanf("%d %d", &N, &K);
int A[N];
for(int i=0; i<N; i++) scanf("%d", &A[i]);
for(int i=N-1; i>=0; i--){
if(A[i] > K) continue;
count += K / A[i];
K %= A[i];
}
printf("%d\n", count);
}
[๋ฐฑ์ค(BOJ)] 4963๋ฒ: ์ฌ์ ๊ฐ์ (DFS/BFS, C++) (0) | 2021.03.02 |
---|---|
[๋ฐฑ์ค(BOJ)] 2667๋ฒ: ๋จ์ง๋ฒํธ๋ถ์ด๊ธฐ (DFS/BFS, C++) (0) | 2021.02.27 |
[๋ฐฑ์ค(BOJ)] 9466๋ฒ: ํ ํ๋ก์ ํธ (DFS/BFS, C++) (0) | 2021.02.26 |
[๋ฐฑ์ค(BOJ)] 2331๋ฒ: ๋ฐ๋ณต์์ด (DFS/BFS, C++) (0) | 2021.02.26 |
[๋ฐฑ์ค(BOJ)] 10451๋ฒ: ์์ด ์ฌ์ดํด (DFS/BFS, C++) (0) | 2021.02.25 |