반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 자료구조
- 토마토
- 백준 그래프 탐색 파이썬
- 백준 토마토 파이썬
- 백준 백트랙킹 파이썬
- BFS
- 백준
- 그리디
- BOJ
- 코딩
- it
- 정보처리기사 실기 시험
- 2022년 정보처리기사 실기
- 프로그래머스 파이썬
- 정보처리기사
- 코딩테스트
- 자바
- 백준 그래프 이론 파이썬
- 백준 N-Queens
- 코드
- python
- 2022년 정보처리기사 실기 1회 가답안
- 2022년 정보처리기사 실기 가답안
- 파이썬
- dfs
- 알고리즘
- 정보처리기사 실기
- 프로그래밍
- 백준 백트랙킹
- 프로그래머스
Archives
- Today
- Total
코딩,안되면 될때까지
11047-동전0 본문
728x90
반응형
<문제>
https://www.acmicpc.net/problem/11047
<풀이>
전형적인 그리디 알고리즘 문제이다.
1. k를 가장 큰 화폐의 단위부터 순서대로 나눠준다.
2. k로 나눴을때 몫 = 필요한 화폐의 갯수
3. k로 나눴을때 나머지 = 최소갯수의 화폐로 만들어야 하는 남은 금액
-파이썬-
n,k = map(int,input().split())
m_list = []
count = 0
for i in range(n):
m_value = int(input())
m_list.append(m_value)
m_list.sort(reverse=True)
for money in m_list:
count+=k//money
k%=money
print(count)
-자바-
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(bf.readLine());
int n = Integer.parseInt(st.nextToken()); //배열의 크기
int k = Integer.parseInt(st.nextToken()); //목표금액
ArrayList<Integer> m_list = new ArrayList<Integer>();
int count = 0;
for(int i=0;i<n;i++){
m_list.add(Integer.parseInt(bf.readLine()));
}
m_list.sort(Comparator.reverseOrder());
for(int i=0;i<m_list.size();i++){
count+=k/m_list.get(i);
k%=m_list.get(i);
}
System.out.println(count);
}
}
728x90
반응형
'백준 > 백준-파이썬' 카테고리의 다른 글
16234-인구이동 (0) | 2022.02.25 |
---|---|
1931-회의실 배정 (0) | 2022.01.27 |
11399-ATM (0) | 2022.01.23 |
2839-설탕 (0) | 2022.01.21 |
1541-잃어버린 괄호 (0) | 2022.01.20 |
Comments