[BOJ] 11047: 동전 0

이슬비·2023년 2월 14일
0

Algorithm

목록 보기
82/110
post-thumbnail

오호 ! ... 그리디 ... 조건 ... ⭐️

1. 내 풀이: 실패

import sys
input = sys.stdin.readline

n, k = map(int, input().split())
a = []
for _ in range(n):
    a.append(int(input()))
cnt = 0

k = str(k)

for i in k:
    i = int(i)
    if i < 5:
        cnt += i 
    elif i == 5:
        cnt += 1
    else:
        cnt += (i-5) + 1

print(cnt)

당연히 틀릴 수 밖에 없는 풀이 ~~ 1이랑 5만 생각나올 거라고 생각하고 풀었다.
그러니 틀리지 ~~ ^^

2. 다른 풀이

import sys
input = sys.stdin.readline

n, k = map(int, input().split())
a = []
for _ in range(n):
    a.append(int(input()))
cnt = 0

for i in range(n-1, -1, -1):
    cnt += k//a[i]
    k = k%a[i]

print(cnt)

풀이 출처: https://god-gil.tistory.com/64

아직은 그리디 초반이니까 답을 조금 봐도 ... 괜찮을거라 믿으며 ~ ...
일단 그리디에서는 ⭐️조건⭐️ 이 아주 중요하다.

내가 뭘하든 조건 내에서 제일 좋은 걸 찾자 = 그리디

3. 마치며

내일부터는 조건을 잘 생각하면서 찾아보자 !

profile
정말 알아?

0개의 댓글