알고리즘2 [leetcode 19] 리스트의 끝에서 N번째 노드 삭제하기 링크드리스트의 head가 주어졌을때 끝에서부터 n번째 노드를 삭제하시오. ex1 ) head = [1,2,3,4,5], n = 2 풀이법 그냥 풀면 어렵고 링크드리스트의 길이를 구한다음 풀면 쉽다. - 링크드리스트의 길이를 구하고 그 길이를 L 이라고 하자. - 그러면 삭제해야하는 노드는 L - n 번째의 노드가 된다. - L - n 번째노드를 L - n + 2 노드와 교체하면 끝 풀이 class Solution: def removeNthFromEnd(self, head: ListNode, n: int) -> ListNode: dummy = ListNode(0) dummy.next = head first = head L = 0 while first: L += 1 first = first.next L -=.. 2021. 3. 31. [리트코드] max sliding window 문제 어떤 배열이 주어질때 k크기의 윈도우가 배열을 이동할때 최대 값들을 저장하여 배열로 리턴하라는 문제이다. leetcode.com/problems/sliding-window-maximum/ Sliding Window Maximum - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 1. 최적화 없이 풀기 사실 최적화만 하지 않아도 된다면 쉬운문제이긴 하다. O(kn) 으로 풀면 아래와 같다. 파이썬의 슬라이스 문법을 사용하여 슬라이딩 윈도우를 이동시키고, 그때마다 .. 2020. 9. 13. 이전 1 다음