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

전체 글 177

.leetcode(206. Reverse Linked List)

https://leetcode.com/problems/reverse-linked-list/ //링크 3. 2022/05/02 시도 소요시간: 4분 class Solution { public ListNode reverseList(ListNode head) { if (head == null) { return null; } ListNode current = head; ListNode newHead = head; while( current.next != null) { ListNode temp = newHead; newHead = current.next; current.next = current.next.next; newHead.next = temp; } return newHead; } } 풀이 접근 과정 일단 ..

알고리즘 풀이 2022.01.01

.leetcode(300. Longest Increasing Subsequence)

문제 https://leetcode.com/problems/longest-increasing-subsequence/ 문제 풀기 전 rescursion으로 풀 수 있을거라 생각했다. 대신 영향받는것과 가져와야될 것을 먼저 정의 해봤다. (index, number) -> count index는 이전까지 진행했던 index 이전 Index중에서 number는 가장 큰 값 직접 푼 풀이 소요시간: 30분(08:50 ~ 09:20) class Solution { private int[] cache; public int lengthOfLIS(int[] nums) { cache = new int[nums.length]; Arrays.fill(cache, -1); int ret = 0; for (int i=0; i

알고리즘 풀이 2021.02.18

.leetcode(207. Course Schedule)

문제 https://leetcode.com/problems/course-schedule/ 문제 풀기 전 순환을 찾는 문제구나. 기존에는 사실 LinkedList기반아래에서 순환을 찾았는데 이렇게 배열단위의 순환은 처음이었다. 그래서 뭔가 Tores 이 방식으로 풀 수 있지 않을까 기대도 했었는데 링크드 리스트를 구지 만들어서 풀어야할까라는 생각이 들었다. 직접 푼 풀이 소요시간: 50분(22:13 ~ 11:03) 재도전하기 결국 못 풀었다. graph로 풀어보기, 기회가 되면 Tores and 요걸로 풀어보기 느낀점 솔루션 하나는 방향이 비슷하게 갔다. 다만 캐쉬를 세우지 못해서 못 풀었다. 캐쉬세우니 풀렸다. 2번째 방법은 graph를 이용한방법인데 처음 보는 풀이다. 이해하고 보면 결국 필수과목이 없..

알고리즘 풀이 2021.02.17

.leetcode(416. Partition Equal Subset Sum)

문제 https://leetcode.com/problems/partition-equal-subset-sum/ 문제 풀기 전 (잘못된 생각) 정렬한다음에 앞에서 출발해서 더하고, 뒤에서 부터 출발해서 더하면 되지 않을가. (잘못된 생각) 역시 합문제는 더하고 봐야된다. [1,1,2,2]는 안되는구나 (잘못된 생각) 같은 숫자 쌍은 없애자. [1,5,5,11] 39. Combination Sum 하고 비슷한 느낌을 받았다. 직접 푼 풀이 소요시간: 41분(17:17 ~ 17:58) class Solution { private int[][] cache; public boolean canPartition(int[] nums) { int sum = 0; for (int num: nums) { sum += num;..

알고리즘 풀이 2021.02.14

.leetcode(438. Find All Anagrams in a String)

문제 https://leetcode.com/problems/find-all-anagrams-in-a-string/ 문제 풀기 전 예전에 문제중에 이런걸 키로 만들어 카운트 했떤 문제의 아이디를 빌어서 키로 만들고 풀기 아니면 정렬하기 O(logN * n) 우선 변환하고 풀면 O(N*26) 혹시 trie로 풀 수 있지 않을까 직접 푼 풀이 소요시간: 15분(17:08 ~ 17:23, 정렬을 이용한 풀이) 4분(17:25 ~ 17:29, 키를 이용한 풀이) # 정렬을 이용한 풀이 class Solution { public List findAnagrams(String s, String p) { char[] keywords = p.toCharArray(); Arrays.sort(keywords); List re..

알고리즘 풀이 2021.02.14

.leetcode(494. Target Sum)

문제 https://leetcode.com/problems/target-sum/ 문제 풀기 전 2^n의 경우의 수를 줄여야한다. 큰수의 구성요소 찾던 완전제곱수 문제가 생각난다. 전체 숫자합에서 주어진 결과를 뺀 값은 여기내부의 숫자로 구성된다. 그 구성의 숫자를 구하면 되지 않을까. 아니다.. 며칠전에 푼 Path sum으로 풀면 되지 않을까. 공간도 많이쓰고 빠르지도 않을거 같다. 전체합과 누적 수를 뺀값을 갖고 있으면서 그걸 저장해서 풀자. 직접 푼 풀이 소요시간: 15분(09:45 ~ 10:00) class Solution { private int[] numbers; private int goal; private int[][] cache; public int findTargetSumWays(int..

알고리즘 풀이 2021.02.12

.leetcode(253. Meeting Rooms II)

문제 https://leetcode.com/problems/meeting-rooms-ii/ 문제 해설 시간대를 겹치지 해서 회의실을 잡는데 회의실을 최소로 빌려서 해결해라. 문제 풀기 전 한 10분동안은 문제를 오해했다. 첫번째는 그냥 가장 작은 수인줄, 두번째는 작은 수의 갯수인줄 오해했다. 결국 이건 꼬리물기식으로 문제를 풀어야하는데 예전에 한번 풀었떤 문제와 비슷하다는 생각이 들었다. 직접 푼 풀이 소요시간: 29분(09:50 ~ 10:19) class Solution { public int minMeetingRooms(int[][] intervals) { //정렬 Arrays.sort(intervals, Comparator.comparing(each -> each[0])); List ends = ..

알고리즘 풀이 2021.02.07
반응형