Algorithms-[Greedy] (백준 #11047 [동전0])

2021. 11. 21. 14:06·코딩테스트/파이썬 알고리즘

Greedy(탐욕법) 알고리즘은 생각하기 단순하면서 강력하다. Greedy의 제일 핵심은 "매 순간 가장 좋아보이는 것을 선택하며, 현재의 선택이 나중에 미칠 영향은 고려 하지 않는 것" 이다. 대부분의 탐욕법 문제는 가장큰 순서대로, 가장 작은 순서대로등의 힌트가 문제에 주어진다. 이 문제는 위에서 말했듯이 나중에 미칠 영향을 고려하지 않기 때문에 Greedy로 문제를 짜려면 미리 이 문제에 이 알고리즘을 적용해서 최적의 해가 나올지를 생각해야 한다. 즉, 문제를 먼저 정확히 이해해야한다. 대표적인 문제로는 거스름돈 문제로 백준의 #11047j번 동전0이 있다.

 

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

My answer

import sys
input = sys.stdin.readline

n,k=map(int,input().split())
sum=0

coin=[int(input()) for i in range(n)]
#coin.sort(reverse=True)

for i in coin[::-1]:
    sum+=k//i
    k%=i
    
print(sum)

Another answer

N,K=map(int,input().split())
M=[int(input())for i in range(N)][::-1]
c=0
for i in M:c+=K//i;K%=i
print(c)

대표적인 그리디 문제로, 가장 큰 동전을 많이 사용할 수록 최종적으로 가장 적게 사용하게 된다.

또한 문제 조건 상 가지고있는 동전의 단위는 오름차순으로 입력하기 때문에 따로 정렬할 필요도 없이

거꾸로 순회하면서 가장 단위가 큰 동전부터 계산하면 되는 문제다. 

728x90

'코딩테스트 > 파이썬 알고리즘' 카테고리의 다른 글

Function-[sys.stdin.readline()]  (0) 2021.11.27
Algorithms-[DFS]  (0) 2021.11.26
Algorithms-[Brute Force]  (0) 2021.11.19
Algorithms-[Bit Mask]  (0) 2021.11.17
코테 준비 문제집 순서  (0) 2021.11.09
'코딩테스트/파이썬 알고리즘' 카테고리의 다른 글
  • Function-[sys.stdin.readline()]
  • Algorithms-[DFS]
  • Algorithms-[Brute Force]
  • Algorithms-[Bit Mask]
창빵맨
창빵맨
  • 창빵맨
    Let's be Developers
    창빵맨
    로그인/로그아웃
  • 전체
    오늘
    어제
    • 분류 전체보기 (471)
      • 알쓸신잡 (79)
      • ML & DL (85)
        • Computer v.. (22)
        • NLP (22)
        • 파이썬 머신러닝 완.. (3)
        • 개념정리 (38)
      • 리눅스 (21)
      • 프로젝트 (29)
        • 산불 발생 예측 (6)
        • 음성비서 (12)
        • pdf 병합 프로그.. (0)
        • 수위 예측 (5)
        • 가짜 뉴스 분류 (5)
        • 전력사용량 예측 (1)
      • 코딩테스트 (217)
        • 프로그래머스[Pyt.. (17)
        • 프로그래머스[Fai.. (3)
        • 백준[Python] (160)
        • 이것이취업을위한코딩.. (18)
        • 파이썬 알고리즘 (19)
      • 데이터분석실습 (25)
        • 데이터 과학 기반의.. (18)
        • 헬로 데이터 과학 (7)
      • 메모장 (0)
      • 잡담 (4)
  • Personal

    GITHUB
    Instagram
  • 공지사항

  • 인기 글

  • 태그

    이것이취업을위한코딩테스트다
    dp
    이분탐색
    이코테
    BFS
    나동빈
    백준
    그리디
    파이썬
    DFS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3

HOME

HOME

상단으로

티스토리툴바