자료구조 & 알고리즘/== 그리디 ==

// 정수 num 이 주어졌을 때,// num 숫자에서 두 자리를 최대 한번만 교체하여 얻을 수 있는 최대값을 출력하세요.// 입출력 예시// num: 2736// 출력: 7236// 입력: 7116// 출력: 7611public class Main { public static int solution(int num) { char[] chars = String.valueOf(num).toCharArray(); int max = Integer.MIN_VALUE; int[] maxArr = new int[chars.length]; for (int i = chars.length - 1; i >= 0; i--) { max = Math.ma..
// 원형 루트 상에 n 개의 주유소가 있다.// 각 주유소의 가스 보유량은 gas 배열에 주어지고,// 해당 주유소에서 다음 주유소로의 이동 비용은 cost 배열에 주어진다.// 어떤 위치에서 차량이 가스를 채워 출발하면 모든 주유소를 방문하고 원래의 위치로 돌아올 수 있는지// 계산하는 프로그램을 작성하세요.// 입출력 예시// gas: 1, 2, 3, 4, 5// cost: 3, 4, 5, 1, 2// 출력: 3// gas: 2, 3, 4// cost: 3, 4, 3// 출력: -1public class Main { public static int solution(int[] gas, int[] cost) { int totalGas = 0; int resultIdx = ..
// 양의 정수 배열 prices 가 주어졌다.// 각 원소의 의미는 주식 가격을 의미한다.// 한 번에 한 주만 보유할 수 있다고 할 때 prices 를 보고 사고 팔기를 반복해서// 얻을 수 있는 최대 수익을 반환하는 프로그램을 작성하세요.// 입출력 예시 // 1 3 4 5 5 6// prices: 5, 1, 6, 4, 3, 5// 출력: 7// prices: 1, 2, 3, 4, 5// 출력: 4public class Main { public static int solution(int[] prices) { if(prices == null || prices.length
// 정수형 nums 배열이 주어졌다.// 각 원소의 값은 해당 위치에서 오른쪽으로 이동할 수 있는 최대 값이다.// 첫 번째 위치에서 시작해서 가장 끝까지 이동이 가능한지 판별하는 프로그램을 작성하세요.// 이동이 가능하면 true, 불가능하면 false 를 반환하세요.// 입출력 예시// nums: 2, 3, 0, 1, 4// 출력: true// nums: 3, 0, 0, 1, 1// 출력: true// nums: 3, 2, 1, 0, 4// 출력: falsepublic class Main { public static boolean solution(int[] nums) { int pos = 0; // 갈 수 있는 최대 위치 for (int i = 0; i = nums.l..
꾸준함의 미더덕
'자료구조 & 알고리즘/== 그리디 ==' 카테고리의 글 목록