프로그래머스23 [프로그래머스] L3 이중우선순위큐 [프로그래머스] L3 이중 우선순위 큐 [풀이] 예시 Pic1과 같이 Max Queue, Min Queue를 만든 후 입력에 따라 삭제한다. 주의할 점은 한쪽 큐에서 값을 꺼낼 때, 다른 큐에서도 삭제를 해주어야 한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 import java.util.*; class Solution { public int[] solution(String[] opts) { Queue minQ = new PriorityQueue(); Queue maxQ = new PriorityQueue(Collections.reverseOrder()); int size = 0; f.. 2021. 1. 3. [프로그래머스] L3 불량 사용자 / 2019 카카오 겨울 인턴십 (Java) [프로그래머스] L3 불량 사용자 / 2019 카카오 겨울 인턴십 [풀이] 123456789101112131415161718192021222324252627282930313233343536373839404142434445import java.util.*;class Solution { static List list = new ArrayList(); static Set answer = new HashSet(); static boolean[] visit; public static int solution(String[] user_id, String[] banned_id) { visit = new boolean[user_id.length]; dfs(0, user_id, banned_id); return answe.. 2020. 12. 22. [프로그래머스] L3 셔틀버스 / 2018 카카오 블라인드 채용 (Java) [프로그래머스] L3 셔틀버스 / 2018 카카오 블라인드 채용 [풀이] 1. 문자열을 적절히 파싱 합니다. 파싱 한 시간을 분 단위로 수정해서 리스트에 저장한 후 리스트를 오름차순으로 정렬합니다 - 파싱 후 분 단위로 수정한 예) 9:50 => 590 / 08:01 => 481 2. 셔틀버스 시작시간(09:00 => 540)을 기준으로 셔틀 운행 횟수 n만큼 반복하면서 탑승할 수 있는지 확인합니다. for(int i=0; i0), 결과는 마지막 셔틀버스의 시간과 같습니다. 2) 승객을 태울 수 없는 경우(m==0), 결과는 마지막으로 탑승한 승객의 시간에서 1을 뺀 것과 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26.. 2020. 12. 22. [프로그래머스] L3 자물쇠와 열쇠 / 2020 카카오 블라인드 채용 (Java) [프로그래머스] L3 자물쇠와 열쇠 / 2020 카카오 블라인드 채용 [풀이] 이 문제를 풀기 위해 1) 배열의 회전과 2) 배열 이동 두 가지를 구현할 수 있어야 합니다. 1. 배열의 회전 배열의 회전은 아래와 같은 반복문으로 가능합니다/ for(int i=0; i 2020. 12. 20. 이전 1 2 3 4 ··· 6 다음