Programming

[4์ฃผ์ฐจ] ๋ฐฑ์ค€ 11047๋ฒˆ: ๋™์ „ 0_C์–ธ์–ด

mnzy๐ŸŒฑ 2022. 5. 2. 14:15

๋ฐฑ์ค€ 11047: ๋™์ „ 0

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

 

11047๋ฒˆ: ๋™์ „ 0

์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๋™์ „์˜ ๊ฐ€์น˜ Ai๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2์ธ ๊ฒฝ์šฐ์— Ai๋Š” Ai-1์˜ ๋ฐฐ์ˆ˜)

www.acmicpc.net


- ์ค€๊ทœ๊ฐ€ ๊ฐ€์ง„ ๋™์ „์˜ ์ข…๋ฅ˜์˜ ๊ฐœ์ˆ˜(N)์™€ ๋™์ „์ด ๋งŒ๋“ค์–ด์•ผ ํ•  ๊ธˆ์•ก(K)๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. 

- ๋™์ „์˜ ์ข…๋ฅ˜๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. (์˜ค๋ฆ„์ฐจ์ˆœ)

- K์›์„ ๋งŒ๋“œ๋Š”๋ฐ ํ•„์š”ํ•œ ๋™์ „ ๊ฐœ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์ด ์ถœ๋ ฅ๋œ๋‹ค.


#include <stdio.h>

int main()
{
	int N, K;
	int coin[10];
	int a;
	int result = 0;

	scanf("%d %d", &N, &K);
	for (int i = 0; i < N; i++)
	{
		scanf("%d", &coin[i]);
	}
	
	
	for (int i = N - 1; i >= 0; i--) {
		a = K / coin[i];
		if (a > 0) {
			K -= coin[i] * a;
			result += a;
		}

	}

	printf("%d", result);
}

- ์ค€๊ทœ๊ฐ€ ๊ฐ€์ง„ ๋™์ „์˜ ์ข…๋ฅ˜์˜ ๊ฐœ์ˆ˜(N)์™€ ๋™์ „์ด ๋งŒ๋“ค์–ด์•ผ ํ•  ๊ธˆ์•ก(K)๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.

- ๋™์ „์˜ ์ข…๋ฅ˜๊ฐ€ ์ตœ๋Œ€ 10๊ฐœ์ด๋ฏ€๋กœ ํฌ๊ธฐ๊ฐ€ 10์ธ coin ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๊ณ  ์ด ๋ฐฐ์—ด์— ๋™์ „๋“ค์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. 

- ํฐ ๊ธˆ์•ก์˜ ๋™์ „๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ K์— ๋‚˜๋ˆ ์ฃผ๊ณ  ๊ทธ ๊ฐ’์ด 0๋ณด๋‹ค ํฌ๋ฉด ๊ทธ ๊ฐ’*๊ธˆ์•ก ๋งŒํผ์„ K์—์„œ ๋นผ์ค€๋‹ค.

-> ex. 4790์›

-> 5000์› ์ด์ƒ์˜ ๋™์ „์€ ๋‚˜๋ˆ—์…ˆ์˜ ๊ฒฐ๊ณผ๊ฐ€ 0๋ณด๋‹ค ์ž‘์œผ๋ฏ€๋กœ ํ†ต๊ณผํ•œ๋‹ค. 

-> 4700/1000 = 4 => (4790 - 4*1000 = 790)

-> 790/100 = 7 => (790 - 7*100 = 900)

-> 90/10 = 9 => (90 - 10*9 = 0)


๋‚˜๋Š” ์•„๋ฌด ์ƒ๊ฐ์—†์ด ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋Š”๋ฐ ์ด ๋ฌธ์ œ๊ฐ€ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ผ๊ณ  ํ•œ๋‹ค..

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ญ”์ง€ ๋ชฐ๋ผ์„œ ์ฐพ์•„๋ณด์•˜๋‹ค.


[์ถœ์ฒ˜]: https://www.zerocho.com/category/Algorithm/post/584ba5c9580277001862f188

https://velog.io/@contea95/%ED%83%90%EC%9A%95%EB%B2%95%EA%B7%B8%EB%A6%AC%EB%94%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98โ€‹

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํƒ์š• ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋˜๋Š” ์š•์‹ฌ์Ÿ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋Š”๋ฐ, ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํ˜„์žฌ ์ƒํ™ฉ์—์„œ ๊ฐ€์žฅ ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ์„ ํƒํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. 
(์ด๋ ‡๊ฒŒ ๊ฐ ๋‹จ๊ณ„์—์„œ ์ตœ์„ ์˜ ์„ ํƒ์„ ํ•œ ๊ฒƒ์ด ์ „์ฒด์ ์œผ๋กœ๋„ ์ตœ์„ ์ด๊ธธ ๋ฐ”๋ผ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.)

๋ฌผ๋ก  ๋ชจ๋“  ๊ฒฝ์šฐ์—์„œ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ํ†ตํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. 

์˜ˆ๋ฅผ ๋“ค์–ด, ์ง€๊ธˆ ์„ ํƒํ•˜๋ฉด 1๊ฐœ์˜ ๋งˆ์‹œ๋ฉœ๋กœ๋ฅผ ๋ฐ›๊ณ , 1๋ถ„ ๊ธฐ๋‹ค๋ ธ๋‹ค ์„ ํƒํ•˜๋ฉด 2๊ฐœ์˜ ๋งˆ์‹œ๋ฉœ๋กœ๋ฅผ ๋ฐ›๋Š” ๋ฌธ์ œ์—์„œ๋Š”, ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•ญ์ƒ ๋งˆ์‹œ๋ฉœ๋กœ๋ฅผ 1๊ฐœ๋ฐ–์— ๋ฐ›์ง€ ๋ชปํ•œ๋‹ค. ์ง€๊ธˆ ๋‹น์žฅ ์ตœ์„ ์˜ ์„ ํƒ์€ ๋งˆ์‹œ๋ฉœ๋กœ 1๊ฐœ๋ฅผ ๋ฐ›๋Š” ๊ฑฐ์ง€๋งŒ, ๊ฒฐ๊ณผ์ ์œผ๋กœ๋Š” 1๋ถ„ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ 2๊ฐœ ๋ฐ›๋Š” ๊ฒŒ ์ตœ์„ ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

 

๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ํ†ตํ•˜๋Š” ๋ฌธ์ œ๋“ค๋„ ๋งŽ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ ๊ฑฐ์Šค๋ฆ„๋ˆ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.

์˜ˆ๋ฅผ๋“ค์–ด, ๊ฑฐ์Šค๋ฆ„๋ˆ์„ ์ตœ์†Œํ•œ์˜ ๋™์ „ ๊ฐœ์ˆ˜๋กœ ๊ณ„์‚ฐํ•ด์•ผ ํ•  ๋•Œ ๊ฐ€์žฅ ์ตœ์„ ์˜ ๋ฐฉ๋ฒ•์€ ๊ฐ€์žฅ ํฐ ๋‹จ์œ„์˜ ๋ˆ๋ถ€ํ„ฐ ์ƒ๊ฐํ•˜์ž๋Š” ๊ฒƒ์ธ๋ฐ, ์ด๋•Œ๋Š” ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ „์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ๋„ ์ตœ์„ ์˜ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์ด ๋œ๋‹ค.

 

- ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์กฐ๊ฑด

-> (ํƒ์š•์Šค๋Ÿฌ์šด ์„ ํƒ ์กฐ๊ฑด) ํƒ์š•์ ์ธ ์„ ํƒ์€ ํ•ญ์ƒ ์•ˆ์ „ํ•ด์•ผ ํ•œ๋‹ค.

// '์•ˆ์ „ํ•˜๋‹ค'๋ผ๋Š” ๊ฒƒ์€ ์ด ์„ ํƒ์œผ๋กœ ์ธํ•ด ์ „์ฒด ๋ฌธ์ œ์˜ ๊ฐ€์žฅ ์•Œ๋งž๋Š” ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์„ ๋ฐ˜๋“œ์‹œ ๋„์ถœํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค.

// ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•ญ์ƒ ์ตœ์ ํ•ด๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์—, ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ ์ ˆํ•˜๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š”๊ฐ€๋ฅผ ๊ณ ๋ฏผํ•ด๋ด์•ผ ํ•œ๋‹ค๋Š” ๋œป์ธ ๊ฒƒ ๊ฐ™๋‹ค. 

-> (์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ ์กฐ๊ฑด) ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ตœ์ข… ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ๋ถ€๋ถ„ ๋ฌธ์ œ์— ๋Œ€ํ•ด์„œ๋„ ๋˜ํ•œ ์ตœ์ ์˜ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์ด์–ด์•ผ ํ•œ๋‹ค.

// ์ „์ฒด ๊ตฌ์กฐ์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ๊ฐ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋„ ํšจ์œจ์ ์ธ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์ด์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.


์•„์ง ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •ํ™•ํžˆ๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ๊ทธ๋ž˜๋„ ๋ฌธ์ œ๋ฅผ ์ ‘ํ•ด๋ณด์•˜๊ณ ,

๋‚˜๋งŒ์˜ ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐํ–ˆ๋‹ค๋Š” ์ ์ด ๊ฐ€์žฅ ๋ฟŒ๋“ฏํ–ˆ๋‹ค.

์žฌ๋ฐŒ์—ˆ๋‹ค!