Skip to content

Commit 7911b1e

Browse files
authored
Merge pull request #1933 from std-freejia/main
[std-freejia] Week11 solutions
2 parents b2f132a + 4fbb525 commit 7911b1e

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

missing-number/std-freejia.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
class Solution {
2+
public int missingNumber(int[] nums) {
3+
4+
int totalSum = 0;
5+
// 0부터 nums.length 까지 전부 합
6+
for (int i = 0; i <= nums.length; i++) {
7+
totalSum += i;
8+
}
9+
// 0부터 n까지 전부 합
10+
for (int i = 0; i < nums.length; i++) {
11+
totalSum -= nums[i];
12+
}
13+
14+
return totalSum;
15+
}
16+
}

reorder-list/std-freejia.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
class Solution:
2+
def reorderList(self, head: Optional[ListNode]) -> None:
3+
if not head or not head.next:
4+
return
5+
# 중간 노드 찾기
6+
slow, fast = head, head
7+
while fast and fast.next:
8+
slow = slow.next # 1칸
9+
fast = fast.next.next # 2칸
10+
11+
# 뒤 구간들을 뒤집는다
12+
prev, cur = None, slow.next
13+
# 중간노드 기준으로 앞 구간만 떼어놓는다
14+
slow.next = None
15+
16+
while cur:
17+
nxt = cur.next # 다음 노드 기억
18+
cur.next = prev
19+
prev = cur
20+
cur = nxt
21+
# 앞, 뒤 구간들을 병합
22+
first, second = head, prev
23+
while second:
24+
n1, n2 = first.next, second.next
25+
first.next = second
26+
second.next = n1
27+
first, second = n1, n2
28+
29+

0 commit comments

Comments
 (0)