Problem Solving1234 [백준] 17521 Byte Coin - Greedy / Java • 문제 링크 17521번: Byte Coin 입력은 표준입력을 사용한다. 첫 번째 줄에 요일 수를 나타내는 양의 정수 n과 초기 현금 W(1 ≤ n ≤ 15, 1 ≤ W ≤ 100,000)가 주어진다. 다음 n 개의 줄에서, i번째 줄은 i일의 바이트 코인 가격을 나 www.acmicpc.net • 풀이 과정 첫째날의 가격을 먼저 입력받고, 현재 날이 이전 날의 가격보다 높다면 매수하고 아니라면 매도한다. 출력 시점에 현재 남은 코인의 개수가 있다면 모두 매도해 보유금에 더해 출력한다. • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStre.. 2023. 4. 10. [백준] 5545 최고의 피자 - Greedy / Java • 문제 링크 5545번: 최고의 피자 상근이는 근처 피자 가게에서 매일 저녁으로 피자를 배달해 먹는다. 주머니 사정이 얇아진 상근이는 이번 달부터는 "최고의 피자"를 구매하려고 한다. 최고의 피자란, 피자 가게에서 주문할 수 www.acmicpc.net • 풀이 과정 먼저 토핑을 선택하지 않은 경우의 1원당 열량 값, c / a 를 최대값으로 지정한다. 이 후 각 토핑의 열량 값을 입력받고, 이를 정렬해 큰 값부터 확인한다. 새로 토핑을 추가했을 때마다 1원 당 열량 값을 구하고, 이 값이 현재 최대 값과 같거나 크다면 갱신하고, 작다면 반복문을 탈출해 현재 최대값을 정답으로 출력한다. • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWri.. 2023. 4. 9. [백준] 6550 부분 문자열 - Greedy / Java • 문제 링크 6550번: 부분 문자열 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문자열 s 와 t가 빈칸을 사이에 두고 들어온다. s와 t의 길이는 10만을 넘지 않는다. www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class Main { public static void main(St.. 2023. 4. 8. [백준] 20115 에너지 드링크 - Greedy / Java • 문제 링크 20115번: 에너지 드링크 페인은 에너지 드링크를 좋아하는 회사원이다. 에너지 드링크는 카페인, 아르기닌, 타우린, 나이아신 등의 성분이 들어있어 피로 회복에 도움을 주는 에너지 보충 음료수이다. 야근을 마치고 한 www.acmicpc.net • 풀이 과정 각 용액의 양을 입력받아 모두 합하면서, 이 중 최대값을 구한다. 최대값에 최대값을 제외한 나머지 용액의 합의 반을 더한 값이 합할 수 있는 최대값이며, 이를 나타내는 max += (max - sum) / 2 을 변형하여 (max + sum) / 2 을 정답으로써 출력한다. • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOExce.. 2023. 4. 7. [백준] 3135 라디오 - Greedy / Java • 문제 링크 3135번: 라디오 첫 줄엔 정수 A와 B가 주어진다 (1 ≤ A, B < 1000, A ≠ B). 다음 줄엔 정수 N이 주어진다 (1 ≤ N ≤ 5). 다음 N개의 줄엔 미리 지정되어 있는 주파수가 주어진다 (주파수는 1000 보다 작다). www.acmicpc.net • 풀이 과정 현재 주파수와 목표 주파수의 차 - 1 을 버튼을 누르는 최소 횟수의 기본 값으로 지정한다. 이 후 입력받은 즐겨 찾기 주파수 값과 목표 주파수의 차를 구해 최소 값을 갱신하며, 마지막에 즐겨찾기 버튼을 누른 1회를 추가한 값을 정답으로써 출력한다. • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOExc.. 2023. 4. 6. [백준] 1246 온라인 판매 - Greedy / Java • 문제 링크 1246번: 온라인 판매 첫째 줄에 정수 N(1 ≤ N ≤ 1,000)과 M(1 ≤ M ≤ 1,000)이 입력된다. 둘째 줄부터 M+1번째 줄까지 i+1번째 줄에는 Pi(1 ≤ Pi ≤ 1,000,000)가 입력된다. www.acmicpc.net • 풀이 과정 Integer 배열을 선언하되 인원 수와 인덱스 값을 맞추기 위해 범위를 1 크게 선언한다. 이때 배열에 삽입 과정에서 발생하는 null 값은 Comparaor.nullsFirst 로 처리하여 내림차순 정렬한다. 먼저 각 인원마다 1개씩 판매하며, 이 판매 인원 수가 n을 넘지 않도록 조건을 건다. 높은 가격부터 확인하여 현재 가능한 최대 수익과, 확인하고자 하는 가격 * 인원 수의 대소를 비교하여 책정 가격과 최대 수익을 갱신한다... 2023. 4. 5. 이전 1 ··· 146 147 148 149 150 151 152 ··· 206 다음