LV12 [Lv.2]귤 고르기 package Lv_2; import java.util.*; public class 귤고르기 { public static int solution(int k, int[] tangerine) { int answer = 0; Arrays.sort(tangerine); HashMap tan_cnt = new HashMap(); for (int i = 0; i tan_cnt.get(o2) - tan_cnt.. 2023. 2. 18. [Lv.2]기능개발 큰 설계의 틀은 이렇게 잡고 문제를 풀기 시작했다. 결과는 문제없이 통과되었지만, 굳이 queue를 두개나 생성 할 필요가 없었다. 아래의 코드는 위의 설계대로 푼 코드이고, 그 아래는 다른 분들의 코드를 참고하여 다시 풀어본 코드이다. package Lv_2; import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedList; import java.util.List; public class 기능개발 { public static int[] solution(int[] progresses, int[] speeds) { List tmp = new ArrayList(); LinkedList queue_prog = new LinkedL.. 2023. 2. 17. [Lv.2]n^2 배열 자르기 처음 내가 설계한 방법은 n값을 바탕으로 n * n의 배열을 만들어 그 안에 수를 모두 채워넣는것 이었다. 그 후, 1차원 배열로 다시 변환하여 left, right의 해당 인덱스만 answer에 값을 넣어주고 return 하는 방법이었다. 그러나 잘 작동하는 것 같지만 절반정도는 메모리초과로 실패가 떳다. 그 후, 설계할 때 생각해보니 각 배열의 좌표 x,y라 생각하였을 때, x와 y값 중 큰 값에 +1 한 값이 2차원 배열에 채워진다는 것이 생각났다. 그러면 위의 모든 작업을 할 필요없지 left부터 right까지 반복문 하나로 answer을 구할 수 있다는 생각이 들었다. 아래의 코드는 정답 코드이고 그 아래는 처음에 시도했던 코드이다. public static int[] solution(int n.. 2023. 2. 15. [Lv.1]개인정보 수집 유효기간 첫번째로 푼 방법은 주어진 날짜의 문자열을 쪼개서 계산 후 다시 날짜로 반환하는 방법이었다. 이 과정에서 year와 month를 계산하는 과정에서 누락된 부분이 있어서 지속적으로 테스트케이스 2개정도가 틀렸었다. 다른 쉬운 방법이 없을까 고민하던 중, 날짜를 모두 일수로 계산하여 비교하면 복잡하게 날짜계산을 할 필요가 없다는게 떠올랐다. 아래의 첫번째 코드블럭은 날짜를 모두 일수로 계산하여 풀이한 방식이며, 그 아래는 오답이었지만 올려본다. package Lv_1; import java.util.Arrays; public class 개인정보수집유효기간 { public static int[] solution(String today, String[] terms, String[] privacies) { int.. 2023. 2. 2. 이전 1 2 3 다음