Google 태그 관리자 아이콘
반응형

전체 글 177

.use(moment()에서 java LocalDateTime으로 변환하기)

고민 client로 react를 사용하고 server로는 springboot를 사용하는 와중에 시간 데이터를 react에서 springboot로 넘기는데 문제가 있었다. react에서는 moment()로 시간을 나타내는데 이걸 자바의 LocalDateTime으로 그대로 넘기니 시간이 이상하게 변환되었다. 분명 react에서 debugger로 확인했을때 zoneId도 잘 표현되었고 java로 넘어온 것도 역시 zoneId가 맞기때문에 zone설정문제는 아니었다. 결론 moment()객체를 그대로 보내지 않고 moment().format("YYYY-MM-DDTHH:mm:sszz")과 같이 포맷변환해서 보내면 잘된다. 접근방법 startDate = moment() 이런식으로 데이터를 넣었고 이대로 axios를..

.leetcode(394. Decode String)

문제 https://leetcode.com/problems/decode-string/ 문제 풀기 전 stack으로 풀 수 있겠다. ]문자가 나오기전까지 stack에 넣다가 나오면 pop한다. [문자가 나올대까지 하고 그다음 숫자를 나오게 해서 그려준다. 숫자는 한자리가 아니기때문에 숫자는 특별히 하나의 문자로 만들어서 stack에 넣어줬다. 직접 푼 풀이 소요시간: 36분(21:51 ~ 22:27) class Solution { public String decodeString(String s) { LinkedList stack = new LinkedList(); String sub = ""; for (int i=0; i

알고리즘 풀이 2021.01.25

.leetcode(96. Unique Binary Search Trees)

문제 https://leetcode.com/problems/unique-binary-search-trees/ 문제 풀기 전 처음에는 subarray로 푸르는데 recursive가 헷갈려서 중단 이게보니 정렬된 요소의 갯수에 따라 답이 정해져 있음 1->1 2->2 3->5 직접 푼 풀이 소요시간: 36분(08:48 ~ 09:24) class Solution { public int numTrees(int n) { int[] elements = new int[n]; int[] dp = new int[n+1]; dp[0] = 1; dp[1] = 1; for(int j=2; j

알고리즘 풀이 2021.01.25

.leetcode(62. Unique Paths)

문제 https://leetcode.com/problems/unique-paths/ 문제 풀기 전 기존에 풀었던 최단거리구하는 64. Minimum Path Sum 을 풀었던 터라 dp로 접근하면 되겠다 싶었다. 직접 푼 풀이 소요시간: 6분(08:37 ~ 08:43) class Solution { public int uniquePaths(int m, int n) { int[][] board = new int[m][n]; for(int i=m-1; i>=0; i--) { for(int j=n-1; j>=0; j--) { if (i == m-1 || j == n-1) { board[i][j] = 1; } else { board[i][j] = board[i+1][j] + board[i][j+1]; } } }..

알고리즘 풀이 2021.01.22

.leetcode(64. Minimum Path Sum)

문제 https://leetcode.com/problems/minimum-path-sum/ 문제 풀기 전 이건 왠지 dp로 풀 수 있을거같다는 감은 왔다. 직접 푼 풀이 소요시간: 40분 재도전하기 느낀점 결국 brute force로도 못 풀었다. dp로 푸는방식이 있다. 아래와 같다. 결국 dp로 푸는것은 지금의 값을 결정하는 요소들의 비교가 아닐까 하다. 아래 푸는 방식을 보면 합해진 값의 오른쪽과 합해진 값의 아래쪽 중에 작은걸 선택해서 0,0까지 더하는 방식인데 이걸 잘 기억해두면 다음법 dp스러운 문제를 봐도 힌트가 될 것이다. 솔루션 공부 후 추가로 푼 풀이 class Solution { public int minPathSum(int[][] grid) { for (int i=grid.lengt..

알고리즘 풀이 2021.01.21

.leetcode(215. Kth Largest Element in an Array)

문제 https://leetcode.com/problems/kth-largest-element-in-an-array/ 문제 풀기 전 k-th 이제 익숙하다. 일단 PriorityQueue가 바로 떠올랐다. 단순 array이기에 Arrays.sort로 해도 풀리겠다고도 생각했다. "347. Top K Frequent Elements"에서 배운 Lomuto's Partition을 구현해 볼 기회였다. 직접 푼 풀이 소요시간: 3분(21:55 ~ 21:58, PriorityQueue이용한 풀이), 2분(22:00 ~ 22:02, Arrays.sort 이용한 풀이), 28분(22:02 ~ 22:30, Lomuto's Partition 이용한 풀이) # PriorityQueue 이용한 풀이 clas..

알고리즘 풀이 2021.01.19

.leetcode(39. Combination Sum)

문제 https://leetcode.com/problems/combination-sum/ 문제 풀기 전 recursion으로 풀면되겠다. Group Anagrams 풀었던 걸 이용했다. 여기도 역시 중복을 하나로 체크해야하는데 그때 알파벳키를 만들었던것처럼 키를 만들어 유일값을 체크하면 되겠다 싶었다. 직접 푼 풀이 소요시간: 24분(20:12 ~ 20:36) class Solution { List result = new ArrayList(); Set checkBox = new HashSet(); public List combinationSum(int[] candidates, int target) { doCombinationSum(candidates, target, new ArrayList()); ret..

알고리즘 풀이 2021.01.19
반응형