일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- DevOps
- docker
- SQL
- Greedy 알고리즘
- date_format
- 그리디 알고리즘
- 브론즈
- 디버깅
- java.io
- Docker 핵심
- join
- 알고리즘
- 프로그래머스
- 클라우드
- 자바스크립트 기초
- 탐욕 알고리즘
- Java
- Access Modifier
- sqlplus
- debugging
- 코테
- docker 개념
- 백준
- 전자레인지 문제
- MySQL
- reference data type
- greedy
- docker image
- 서브넷
- 거스름돈
- Today
- Total
목록알고리즘 (3)
나는매일가운데
1, 문제 3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은 각각 5분, 1분, 10초이다. 냉동음식마다 전자레인지로 요리해야할 시간 T가 초단위로 표시되어 있다. 우리는 A, B, C 3개의 버튼을 적절히 눌러서 그 시간의 합이 정확히 T초가 되도록 해야 한다. 단 버튼 A, B, C를 누른 횟수의 합은 항상 최소가 되어야 한다. 이것을 최소버튼 조작이라고 한다. 만일 요리시간이 100초라고 하면(T=100) B를 1번, C는 4번 누르면 된다. 이와 다르게 C를 10번 눌러도 100초가 되지만 이 경우 10번은 최소 횟수가 아니기 때문이 답이 될 수 없..
1. 문제 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사고 카운터에서 1000엔 지폐를 한장 냈을 때, 받을 잔돈에 포함된 잔돈의 개수를 구하는 프로그램을 작성하시오. 2. 문제 분석 1) 주어진 입력 값은 거스름 돈이 아니라 타로가 지불할 값이다. 따라서 1000엔에서 지불할 값을 뺴 줘야 타로가 받을 거스름돈이 된다. 2) 최소한의 거스름돈의 갯수를 구하는 문제이다. 즉, 거스름돈 종류 중 최대값부터 나눠가며 나머지를 빼가면 된다. 3. 답 import java.io.BufferedReader; import java.io.IOExc..

1. Greedy 알고리즘이란? - 최적의 해에 가까운 값을 구하기 위해 사용되는 알고리즘 - 미래를 고려하지 않고, 오직 현재 시점에서 가장 좋은 선택을 구하는 방법 -> 현재 내린 선택이 나중에 어떤 결과를 가져올지 고려하지 않고, 지금 가장 빠르거나 저렴한, 혹은 가장 가치 있는 선택을 내리는 알고리즘이다. 2. Greedy 알고리즘의 특징 - 최적의 답을 항상 보장하지 않는다... => 현재의 최적의 답이 전체의 최적의 답이 될 수 없기 때문이다 !!! - 따라서 최적의 답이 보장되는 조건에서만 활용이 가능하다.... 2.1 Greedy 알고리즘 사용 조건 - 현재의 선택이 미래의 선택에 영향을 주지 않을 때 적용이 가능하다. - 부분의 최적의 해가 모여 전체의 최적의 해가 될 때 => 하나의 큰..