🚀 풀이 후기TreeMap에 대해 공부하게 됐습니다.// 선언 TreeMap treeMap = new TreeMap();// 입력treeMap.put(key, value);// 삭제treeMap.delete(key);treeMap.clear();// 조회treeMap.get(key); // key에 해당하는 value 조회treeMap.floorKey(key); // key 이하인 값 중 가장 큰 key 조회treeMap.ceilingKey(key); // key 이상인 값 중 가장 작은 key 조회treeMap.firstKey(); // 최소 key값treeMap.lastKey(); // 최대 key값🌒 문제 설명달력에 이벤트를 저장합니다. [시작일자, 종료일자) -> (시작일자 포함, 종료일자 미..
🚀 풀이 후기상, 하, 좌, 우, 대각선으로 인접한 1의 개수 : DFS or BFS오른쪽, 아래, 우하향 대각선으로만 나아가는 연속된 직선 1의 개수: 누적 DP오른쪽, 아래, 우하향 대각선, 우상향 대각선 모두 검사해야 하는 연속된 직선 1의 개수: 독립된 DP🌒 문제 설명수평, 수직, 대각선 방향으로 검사했을 때 1로만 이루어진 가장 긴 연속된 cell 수를 반환하는 문제입니다. Given an m x n binary matrix mat, return the length of the longest line of consecutive one in the matrix.The line could be horizontal, vertical, diagonal, or anti-diagonal.Input: ..
🚀 풀이 후기시간을 활용한 문제라서 24:00 == 00:00 임을 생각해야 합니다.🌒 문제 설명시간을 분으로 바꿨을 때 최소 차이값을 반환하는 문제입니다.Given a list of 24-hour clock time points in "HH:MM" format, return the minimum minutes difference between any two time-points in the list. Example 1:Input: timePoints = ["23:59","00:00"]Output: 1Example 2:Input: timePoints = ["00:00","23:59","00:00"]Output: 0 Constraints:2 🌓 문제 풀이class Solution { public..
🚀 풀이 후기문제 이해도 어렵고, DP여서 풀이도 어려웠습니다.List배열을 바로 Set으로 만드는 방법을 알게 됐습니다. List wordDict = new ArrayList(); Set word = new HashSet(wordDict);🌒 문제 설명wordDict의 문자열들을 재조합했을 때 s를 완성시킬 수 있는지 검사하는 문제입니다.Example 3에서는 wordDict의 단어들을 s를 이용해서 모두 만들 수는 있지만, wordDict를 재조합했을 때 s를 만들 수는 없어 false입니다.Given a string s and a dictionary of strings wordDict, return true if s can be segmented into a space-separated sequ..
🚀 풀이 후기Trie 문제를 처음 풀어봤습니다.Trie의 원리만 알고 있다면 쉽게 풀 수 있을 것 같습니다.class Trie { public Trie[] trie; public boolean flag; public Trie() { trie = new Trie[26]; flag = false; } public void insert(String word) { Trie node = this; for (char ch : word.toCharArray()) { int index = ch - 'a'; if (node.trie[index] == null) { node.tr..
🚀 풀이 후기이 문제를 풀다 보니 그래프에 순환이 있는지 파악하는 방법을 배우게 됐습니다.선행 조건이 없는 노드들을 모두 제거한 후, 제거하지 못한 노드들이 있다면 순환 그래프입니다.🌒 문제 설명선행수업을 들어야 다음 수업을 들을 수 있습니다.한 학기에는 여러 수업을 수강할 수 있습니다.수업을 다 들을 수 있는 최소 학기 수를 반환하는 문제입니다.만약 수업을 모두 들을 수 없다면 -1을 반환합니다.You are given an integer n, which indicates that there are n courses labeled from 1 to n. You are also given an array relations where relations[i] = [prevCoursei, nextCours..
🚀 풀이 후기DP.. 너무 어렵습니다.string에서 index와 size가 1이 차이나다 보니 더 헷갈립니다. 🌒 문제 설명주어진 sentence 문자열 배열이 rows * cols 의 스크린에 몇 번 채워질 수 있는지 반환하는 문제입니다.문자열 배열의 순서는 바꿀 수 없고, 각 문자는 2줄로 쪼개져서도 안됩니다.같은 줄에서 각각의 문자는 구분되어야 합니다.Given a rows x cols screen and a sentence represented as a list of strings, return the number of times the given sentence can be fitted on the screen.The order of words in the sentence must rema..
🚀 풀이 후기StringTokenizer 까먹어서 다시 공부했습니다..BufferedReader에서 띄어쓰기로 구분된 값을 각 변수 혹은 배열에 저장하기 위해서는 StringTokenizer를 사용해야 합니다.하지만, 저장할 배열의 자료형이 String이거나 Character라면 더 간단한 방법을 사용할 수 있습니다.char charInput[] = br.readLine().toCharArray();String stringInput[] = br.readLine().split(" ");🌒 문제 설명🌓 문제 풀이티셔츠는 남아도 되지만 부족해서는 안되므로 (사이즈를 선택한 사람 수 / 티셔츠 묶음 수)를 했을 때 나머지가 있다면 한 묶음 더 주문해야 합니다.펜은 정확히 참가자 수만큼 준비되어야 하므로 (..