Java (58) 썸네일형 리스트형 [코딩테스트] Java H-Index 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트H-Index를 찾기 위해서 정렬이 꼭 필요합니다. 또 i를 0부터 순회하면 len - i는 최대 값이 되므로 다음 코드와 같이 로직을 계산합니다.소스코드import java.util.*;class Solution { public int solution(int[] citations) { Arrays.sort(citations); int len = citations.length; for (int i = 0; i = len - i) { .. [코딩테스트] Java 가장 큰 수 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트각 자릿수를 토대로 비교하면서 가장 큰 수를 구할 수도 있겠습니다만, 시간 초과가 날 것입니다.이를 위해 문자열 정렬로 생각하여 문제를 풀었습니다. 예를 들어, a = "3"와 b = "30"일 때 (b + a)는 "303"이고 (a + b)는 "330"입니다. 따라서 "330"이 더 앞에 오도록 구현하였습니다.소스코드import java.util.*;class Solution { public String solution(int[] numbers) { StringBuilder sb =.. [코딩테스트] Java 이중 우선순위 큐 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트최댓값과 최솟값을 효율적으로 관리 및 구하기 위해 최소 힙과 최대 힙을 두개 선언하고 연산에 맞게 관리합니다.소스코드import java.util.*;class Solution { public int[] solution(String[] operations) { PriorityQueue max = new PriorityQueue(Collections.reverseOrder()); PriorityQueue min = new PriorityQueue(); .. [코딩테스트] Java 디스크 컨트롤러 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트가장 최소의 처리량 평균 시간을 구하는 문제였습니다. 요청시간이 빠른 순대로 정렬을 하면 짧은 작업시간을 가지는 일들에 대해서는 너무 오래 기다리게 되고, 짧은 작업시간 순대로 정렬을 하면 요청이 먼저 온 작업을 처리를 하지 못하게 됩니다. 따라서 현재 시간에 따라 처리 가능한 작업을 구하고 그 중에서 요청시간이 짧은 것을 먼저 처리합니다.소스코드import java.util.*;class Solution { static class Job implements Comparable { .. [코딩테스트] Java 더 맵게 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트최솟값을 찾기 위해 정렬을 사용해도 되지만 가장 효율적인 자료 구조 Heap을 이용하여 스코빌 지수의 최솟값을 찾도록 코드를 구현하였습니다.소스코드import java.util.*;class Solution { public int solution(int[] scoville, int K) { PriorityQueue scovilles = new PriorityQueue(); for (int level: scoville) { scovilles.. [코딩테스트] Java 다리를 지나는 트럭 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트다리를 큐로 표현해 각 트럭의 상태를 관리하며, 트럭이 다리를 건너는 동안의 시간과 다리의 무게 제한을 고려해 순차적으로 트럭을 다리에 올리고 내립니다. 반복문은 트럭이 모두 다리를 건널 때까지 계속됩니다. 소스코드import java.util.*;class Solution { static class Truck { int weight, position; public Truck(int weight) { this.weight = weight; .. [코딩테스트] Java 주식가격 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트시간 복잡도 O(N^2)으로 잘 관리하면 문제가 패스하는 것을 확인했습니다. 하지만 시간복잡도를 줄이고 싶어 Stack을 이용하였고, O(N)의 시간 복잡도를 갖는 코드를 구현하였습니다.소스코드import java.util.*;class Solution { public int[] solution(int[] prices) { int len = prices.length; int[] ans = new int[len]; Stack stack = new Stack();.. [코딩테스트] Java 프로세스 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트프로세스의 최댓값과 그 갯수를 효율적으로 관리하는게 포인트였습니다. Map으로도 관리할 수 있고, 리스트로도 관리할 수 있겠지만저는 이 문제에서 우선순위 큐를 사용하였습니다.소스코드import java.util.*;class Solution { static class Process { int priority, index; public Process(int priority, int index) { this.priority = priority; .. 이전 1 ··· 4 5 6 7 8 다음