From e031bac06b74665d448467de1ba0216de0f972b3 Mon Sep 17 00:00:00 2001 From: unknown <1326cy@gmail.com> Date: Mon, 17 Aug 2026 18:09:48 +0900 Subject: [PATCH 1/8] day19 --- .../3978. Unique Middle Element.py" | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 "leetcode3/\353\202\250\355\232\250\354\240\225/3978. Unique Middle Element.py" diff --git "a/leetcode3/\353\202\250\355\232\250\354\240\225/3978. Unique Middle Element.py" "b/leetcode3/\353\202\250\355\232\250\354\240\225/3978. Unique Middle Element.py" new file mode 100644 index 00000000..826b65c2 --- /dev/null +++ "b/leetcode3/\353\202\250\355\232\250\354\240\225/3978. Unique Middle Element.py" @@ -0,0 +1,4 @@ +# 문제 그대로 풀이하면 됨 +class Solution: + def isMiddleElementUnique(self, nums: list[int]) -> bool: + return nums.count(nums[len(nums) // 2]) == 1 \ No newline at end of file From 12cf484003c94bcb1fca7a05d8635ec885ba3f1b Mon Sep 17 00:00:00 2001 From: dmswl6310 Date: Mon, 17 Aug 2026 18:05:43 +0900 Subject: [PATCH 2/8] 0817 --- .../3978. Unique Middle Element.js" | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 "leetcode3/\355\231\251\354\235\200\354\247\200/3978. Unique Middle Element.js" diff --git "a/leetcode3/\355\231\251\354\235\200\354\247\200/3978. Unique Middle Element.js" "b/leetcode3/\355\231\251\354\235\200\354\247\200/3978. Unique Middle Element.js" new file mode 100644 index 00000000..5325fa5f --- /dev/null +++ "b/leetcode3/\355\231\251\354\235\200\354\247\200/3978. Unique Middle Element.js" @@ -0,0 +1,14 @@ +/** + * @param {number[]} nums + * @return {boolean} + */ +var isMiddleElementUnique = function(nums) { + const middleIndex=Math.floor(nums.length/2); + const middleNum=nums[middleIndex]; + + for(let i=0;i Date: Mon, 17 Aug 2026 16:29:49 +0900 Subject: [PATCH 3/8] Day19 --- .../3978_Unique Middle Element.py" | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 "leetcode3/\354\265\234\353\257\274\354\247\200/3978_Unique Middle Element.py" diff --git "a/leetcode3/\354\265\234\353\257\274\354\247\200/3978_Unique Middle Element.py" "b/leetcode3/\354\265\234\353\257\274\354\247\200/3978_Unique Middle Element.py" new file mode 100644 index 00000000..fee25592 --- /dev/null +++ "b/leetcode3/\354\265\234\353\257\274\354\247\200/3978_Unique Middle Element.py" @@ -0,0 +1,9 @@ +class Solution: + def isMiddleElementUnique(self, nums: list[int]) -> bool: + i = len(nums) // 2 + a = nums[i] + nums.remove(a) + + if a in nums: + return False + return True \ No newline at end of file From 1b3f60cb060f379c57eef693cd804db8c9d286f2 Mon Sep 17 00:00:00 2001 From: masterMJ Date: Mon, 17 Aug 2026 16:27:06 +0900 Subject: [PATCH 4/8] Create 3978. Unique Middle Element.py --- leetcode3/3978. Unique Middle Element.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 leetcode3/3978. Unique Middle Element.py diff --git a/leetcode3/3978. Unique Middle Element.py b/leetcode3/3978. Unique Middle Element.py new file mode 100644 index 00000000..6ddab5d7 --- /dev/null +++ b/leetcode3/3978. Unique Middle Element.py @@ -0,0 +1,14 @@ +class Solution: + def isMiddleElementUnique(self, nums: list[int]) -> bool: + ret = 0 + gijun = len(nums)//2 + gijun = nums[gijun] + + for n in nums: + if n == gijun: + ret+=1 + + if ret == 1: + return True + else: + return False From 3efd1034f2f01400ac83c04f43cd94eb364da782 Mon Sep 17 00:00:00 2001 From: SinnoLn Date: Mon, 17 Aug 2026 13:19:04 +0900 Subject: [PATCH 5/8] 3978. Unique Middle Element --- .../3978. Unique Middle Element.java" | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 "leetcode3/\354\235\264\354\247\204\355\235\254/3978. Unique Middle Element.java" diff --git "a/leetcode3/\354\235\264\354\247\204\355\235\254/3978. Unique Middle Element.java" "b/leetcode3/\354\235\264\354\247\204\355\235\254/3978. Unique Middle Element.java" new file mode 100644 index 00000000..e67f8a89 --- /dev/null +++ "b/leetcode3/\354\235\264\354\247\204\355\235\254/3978. Unique Middle Element.java" @@ -0,0 +1,11 @@ +class Solution { + public boolean isMiddleElementUnique(int[] nums) { + int target = nums[nums.length/2]; + for(int i=0; i Date: Mon, 17 Aug 2026 12:42:22 +0900 Subject: [PATCH 6/8] 3978 --- .../v2/3978. Unique Middle Element.py" | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 "leetcode3/\353\263\200\354\247\200\355\230\221/v2/3978. Unique Middle Element.py" diff --git "a/leetcode3/\353\263\200\354\247\200\355\230\221/v2/3978. Unique Middle Element.py" "b/leetcode3/\353\263\200\354\247\200\355\230\221/v2/3978. Unique Middle Element.py" new file mode 100644 index 00000000..e356a48c --- /dev/null +++ "b/leetcode3/\353\263\200\354\247\200\355\230\221/v2/3978. Unique Middle Element.py" @@ -0,0 +1,16 @@ + +''' +1. 아이디어 : +middle 원소 구하고, 그 원소가 유일한지 확인한다. + +2. 시간복잡도 : + o(n) +3. 자료구조/알고리즘 : +''' + + +class Solution: + def isMiddleElementUnique(self, nums: list[int]) -> bool: + n = len(nums) + middle = nums[n//2] + return True if 1 == len([i for i in nums if i == middle]) else False \ No newline at end of file From 1f012ef4a477f25baac4864a00bfaa8943dceff1 Mon Sep 17 00:00:00 2001 From: Won Joon Thomas Choi <113500771+724thomas@users.noreply.github.com> Date: Mon, 17 Aug 2026 12:38:04 +0900 Subject: [PATCH 7/8] Create 3978. Unique Middle Element.py --- .../3978. Unique Middle Element.py" | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 "leetcode3/\354\265\234\354\233\220\354\244\200/3978. Unique Middle Element.py" diff --git "a/leetcode3/\354\265\234\354\233\220\354\244\200/3978. Unique Middle Element.py" "b/leetcode3/\354\265\234\354\233\220\354\244\200/3978. Unique Middle Element.py" new file mode 100644 index 00000000..434e8a65 --- /dev/null +++ "b/leetcode3/\354\265\234\354\233\220\354\244\200/3978. Unique Middle Element.py" @@ -0,0 +1,4 @@ +from collections import defaultdict +class Solution: + def isMiddleElementUnique(self, nums: list[int]) -> bool: + return Counter(nums)[nums[len(nums)//2]] == 1 From 22b56f5271d41bfcdc2a7229f792038fc0c0d4ab Mon Sep 17 00:00:00 2001 From: unknown <1326cy@gmail.com> Date: Tue, 18 Aug 2026 22:41:00 +0900 Subject: [PATCH 8/8] day20 --- .../1034. Coloring A Border.py" | 42 +++++++++++++++++++ .../3838. Weighted Word Mapping.py" | 12 ++++++ 2 files changed, 54 insertions(+) create mode 100644 "leetcode3/\353\202\250\355\232\250\354\240\225/1034. Coloring A Border.py" create mode 100644 "leetcode3/\353\202\250\355\232\250\354\240\225/3838. Weighted Word Mapping.py" diff --git "a/leetcode3/\353\202\250\355\232\250\354\240\225/1034. Coloring A Border.py" "b/leetcode3/\353\202\250\355\232\250\354\240\225/1034. Coloring A Border.py" new file mode 100644 index 00000000..8248c412 --- /dev/null +++ "b/leetcode3/\353\202\250\355\232\250\354\240\225/1034. Coloring A Border.py" @@ -0,0 +1,42 @@ +# 풀이 실패 + +class Solution: + def colorBorder(self, grid: List[List[int]], row: int, col: int, color: int) -> List[List[int]]: + m, n = len(grid), len(grid[0]) + target_color = grid[row][col] + + queue = deque([(row, col)]) + visited = {(row, col)} + borders = [] + + while queue: + r, c = queue.popleft() + is_border = False + + # 상하좌우 4방향으로 + for dr, dc in [(-1, 0), (1, 0), (0, -1), (0, 1)]: + nr, nc = r + dr, c + dc + + # 격자 밖이면 테두리임 + if not (0 <= nr < m and 0 <= nc < n): + is_border = True + + # 다른 색상이어도 테두리 + elif grid[nr][nc] != target_color: + is_border = True + + # 아직 안 가본 색상 칸이라면 큐에 추가함 + elif (nr, nc) not in visited: + visited.add((nr, nc)) + queue.append((nr, nc)) + + # 테두리로 결정되면 기록 + if is_border: + borders.append((r, c)) + + # 테두리 칸들만 색상 변경 + for r, c in borders: + grid[r][c] = color + + return grid + \ No newline at end of file diff --git "a/leetcode3/\353\202\250\355\232\250\354\240\225/3838. Weighted Word Mapping.py" "b/leetcode3/\353\202\250\355\232\250\354\240\225/3838. Weighted Word Mapping.py" new file mode 100644 index 00000000..d75ce32b --- /dev/null +++ "b/leetcode3/\353\202\250\355\232\250\354\240\225/3838. Weighted Word Mapping.py" @@ -0,0 +1,12 @@ +class Solution: + def mapWordWeights(self, words: List[str], weights: List[int]) -> str: + ans = [] + + # ord()의 합과 알파벳 거꾸로 정렬한 순서의 합이 항상 122인 것을 이용 + for word in words: + sum_score = 0 + for char in word: + sum_score += weights[ord(char)-97] + ans.append(chr(122 - sum_score % 26)) + + return ''.join(ans) \ No newline at end of file