본문 바로가기

Problem Solving37

[프로그래머스] L3 보석 쇼핑 / 2020 카카오 인턴십 (Java) [프로그래머스] L3 보석 쇼핑 / 2020 카카오 인턴십 [풀이] 투 포인터 문제로 HashMap을 사용해서 중복검사를 수행한다. 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 34 35 36 37 38 39 40 41 42 import java.util.*; class Solution { public int[] solution(String[] gems) { int[] answer = new int[2]; HashMap map = new HashMap(); for(int i=0; i 2021. 1. 4.
[프로그래머스] 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.
[LeetCode] Word Search (Medium) [LeetCode] Word Search (Medium) [풀이] 크기가 (3,5)인 2차원 배열에서 word="ABCHM" 를 찾는 경우 결론: 찾고자 하는 word="ABCHM" 를 DFS로 사용해서 찾는다. 2차원 배열의 (0,0)부터 (2, 4)까지 반복문을 수행한다. 모든 위치를 시작점으로 word의 첫 글자와 일치하는 경우 dfs를 시도한다. 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 public class Word_Search { public boolean exist(char[][] board, String word) { for(int i=0; i 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.