greedy

·Coding Test/백준
문제설명입력 & 출력 나의 풀이 이번 문제는 각 로프들에 대한 정보가 주어졌을 때, 이 로프들을 이용하여 들어 올릴 수 있는 물체의 최대 중량을 구하는 문제입니다. 이 문제에서 중요한 것은 각 로프가 들 수 있는 중량을 기준으로, 여러 로프를 함께 사용하여 최대로 들 수 있는 중량을 계산하는 것입니다. 먼저 빠른 입력을 위해서 BufferedReader 클래스를 사용하여 입력을 받아주고, 각 로프를 rope배열에 넣어줍니다. 이 때 각 로프에 대해 해당 로프를 포함하여 그보다 강한 모든 로프들이 버틸 수 있는 최대 중량을 계산하는 것이 효과적입니다.로프를 중량이 높은 순서대로 정렬하면, 각 로프를 포함하여 그보다 강한 로프들이 함께 버틸 수 있는 최대 중량을 쉽게 계산할 수 있다는 점입니다. 따라서 먼저..
·Coding Test/백준
문제설명입력 & 출력 나의 풀이 이번 문제는 길이가 N인 두 배열을 계산하는 점화식 A [N-1] × B [N-1]이 최솟값을 가지게 만드는 문제입니다. 위 점화식 그대로 사용하게 된다면 1*2 + 1*7 + 1*8 + 6*3 + 0*1 ➡️ 35가 나오게 됩니다. 이때 배열의 정렬을 하고 작은 값과 큰값을 서로 곱해주면 최솟값이 나옵니다. 먼저 빠른 입력을 위해 BufferedReader 클래스를 사용하여 입력을 받아주고 StringTokenizer 클래스를 사용하여 공백을 기준으로 분리를 해서 배열에 저장을 합니다. 그리고 Arrays.sort() 메서드를 사용하여 A를 오름차순으로 정렬해 주고, B배열을 내림차순으로 정렬합니다. (A와 B의 정렬이 바뀌어도 상관없습니다.) 이 때 오름차순은 상관없지..
·Coding Test/백준
문제설명입력 & 출력 나의 풀이  이번 문제는 봉지는 3kg, 5kg가 있으며 최대한 적은 봉지를 사용하면서 Nkg의 설탕을 정확하게 배달하는 문제입니다.  그리디 알고리즘의 문제로서 가장 적은 봉지를 사용하려면 kg가 큰 5kg 봉지를 최대한 많이 사용해야 하는 것은 당연합니다. 먼저 while문을 사용하여 반복문을 돌려줍니다. 이때 5로 나누어 떨어지는 경우 5로 나눈 몫을 봉지 개수 cnt에 누적을 합니다. 만약 5kg봉지로만 정확하게 배달할 수 있으면 최적의 경우이기 때문에 그대로 return 해줍니다.예를 들어 설탕이 15kg라면5kg봉지 3개만 필요합니다.그러나 5kg봉지로만 배달할 수 없다면 3kg 봉지를 어쩔 수 없이 사용해야 하기 때문에 설탕을 3만큼 빼주고 봉지 개수 cnt를 추가합니다..
문제설명나의 풀이import java.util.*;class Solution { public String solution(String number, int k) { StringBuilder sb = new StringBuilder(); int start = 0 ; int idx = 0; for(int i = 0 ; i  이번 문제는 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하는 문제입니다. 예를 들자면 "1924"일 때 [19,12,14,92,94,24]가 되는데 여기서 가장 큰 수인 94가 정답입니다.  숫자를 하나씩 제거하면서 비교하는 것이 아니라 이 문제에서는 매번 가능한 범위 내에서 가장 큰 숫자..
지누박
'greedy' 태그의 글 목록