개요
날짜 2022.11.27 일 11:30 ~ 13:00
링크: https://leetcode.com/contest/weekly-contest-321/
결과 3 / 4
1. Find the Pivot Integer
링크: https://leetcode.com/contest/weekly-contest-321/problems/find-the-pivot-integer/
누적합 사용
class Solution:
def pivotInteger(self, n: int) -> int:
d = [0] * (n+1)
for i in range(1, n+1):
d[i] = d[i-1] + i
res = -1
for i in range(1, n+1):
front = d[i]
back = d[n] - d[i] + i
if front == back:
res = i
return res
2. Append Characters to String to Make Subsequence
스택 사용했다.뭔가 제대로 이해하고 풀지는 않았는데, 통과해서 넘어갔다.
class Solution:
def appendCharacters(self, s: str, t: str) -> int:
top = 0
for c in s:
if c == t[top]:
top += 1
if top == len(t):
return 0
return len(t[top:])
3. Remove Nodes From Linked List
링크: https://leetcode.com/contest/weekly-contest-321/problems/remove-nodes-from-linked-list/
전형적인 스택 문제인데, 배열이 아닌 링크드 리스트로 주어졌다.
급해서, 비효율적으로 작성함
class Solution:
def removeNodes(self, head: Optional[ListNode]) -> Optional[ListNode]:
# 1. node
node = head
st = []
# 2. loop
while node:
while st and node.val > st[-1].val:
st.pop()
st.append(ListNode(node.val, None))
node = node.next
cur = res = ListNode(0, None)
for v in st:
res.next = v
res = res.next
return cur.next
4. Count Subarrays With Median K
링크: https://leetcode.com/contest/weekly-contest-321/problems/count-subarrays-with-median-k/
못풀었다.
'leetcode - contest' 카테고리의 다른 글
weekly-contest-323 (0) | 2022.12.11 |
---|---|
weekly-contest-322 (0) | 2022.12.04 |