🚀 풀이 후기오랜만에 알고리즘을 푸니까 또 다 까먹었네요.BufferedReader, InputStreamReader, String.readLine()을 복습하는 시간이었습니다.🌒 문제 설명연속된 세개의 수 이후에 올 숫자를 구하는 문제였습니다.3의 배수이고, 5의 배수이면, "FizzBuzz",3의 배수이고, 5의 배수가 아니면, "Fizz",3의 배수가 아니고, 5의 배수이면, "Buzz",3의 배수가 아니고, 5의 배수가 아니면 숫자가 입력되거나 출력됩니다. 연속된 세개의 수가 모두 3의 배수, 5의 배수가 나오지는 않습니다.아래 경우처럼 1개의 숫자는 무조건 그대로 입력됩니다.- 3^n, 3^n+1, 3^n+2- 5^n, 5^n+1, 5^n+2- 3, 4, 5 따라서 입력받는 문자열 중 숫자가..
🚀 풀이 후기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..