๊ธฐ๋ก๋ฐฉ

BOJ_11047 : ๋™์ „ 0 ๋ณธ๋ฌธ

CodingTest/Python

BOJ_11047 : ๋™์ „ 0

Soom_1n 2022. 8. 28. 16:00

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

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๋ฅผ ๋งŒ๋“ ๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

import sys

n, k = map(int, sys.stdin.readline().split())
coin = []

for i in range(n):
    c = int(sys.stdin.readline())
    if c <= k:
        coin.append(c)

answer = 0

for i in coin[::-1]:
    if k >= i:
        answer += k//i
        k %= i
sys.stdout.write(str(answer) + "\n")

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • k์˜ ๋ฒ”์œ„๊ฐ€ 1์–ต๊นŒ์ง€ ๊ฐ€๋ฏ€๋กœ ๋น ๋ฅธ ์ž…์ถœ๋ ฅ์„ ์‚ฌ์šฉํ–ˆ๋‹ค.
  • ๊ฐ€์น˜์˜ ํ•ฉ์„ ๋งŒ๋“œ๋Š”๋ฐ ๊ฐ€์น˜๋ณด๋‹ค ์ž‘์€ ๋™์ „๋งŒ ์“ฐ์ด๋ฏ€๋กœ, k๋ณด๋‹ค ์ž‘์€ ๋™์ „ ์ข…๋ฅ˜๋งŒ coin ๋ฆฌ์ŠคํŠธ์— ์ €์žฅํ•œ๋‹ค.
  • ๋ฆฌ์ŠคํŠธ๋ฅผ ์—ญ์œผ๋กœ ์ˆœํšŒํ•˜๋ฉฐ ๋™์ „์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ผ๋‹ค.
    • ๋‚จ์€ ๊ฐ€์น˜์˜ ํ•ฉ์ด ํ˜„์žฌ ๋™์ „๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์•„์•ผ ํ•œ๋‹ค.
    • ํ˜„์žฌ ๋™์ „ ์ข…๋ฅ˜ i ๋กœ ์ตœ๋Œ€ํ•œ k๋ฅผ ์ฑ„์›Œ์•ผ ํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ธฐ์ดˆ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™๋‹ค. ์ƒ๊ฐ๋ณด๋‹ค ์‰ฝ๊ฒŒ ํ’€์€ ๊ฒƒ ๊ฐ™๋‹ค.

728x90