From 5d0926098c48f9620953f4211c7d343dd3217c3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=97=BC=ED=98=9C=EC=A0=95?= <122238744+cyzlcyzl@users.noreply.github.com> Date: Mon, 17 Aug 2026 23:07:53 +0900 Subject: [PATCH 1/3] Create 3978. Unique Middle Element.java --- .../3978. Unique Middle Element.java" | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 "leetcode3/\354\227\274\355\230\234\354\240\225/3978. Unique Middle Element.java" diff --git "a/leetcode3/\354\227\274\355\230\234\354\240\225/3978. Unique Middle Element.java" "b/leetcode3/\354\227\274\355\230\234\354\240\225/3978. Unique Middle Element.java" new file mode 100644 index 00000000..d15098db --- /dev/null +++ "b/leetcode3/\354\227\274\355\230\234\354\240\225/3978. Unique Middle Element.java" @@ -0,0 +1,11 @@ +class Solution { + public boolean isMiddleElementUnique(int[] nums) { + int middle = (nums.length - 1) / 2; + int cnt = 0; + for (int num : nums) { + if (num == nums[middle]) cnt++; + if (cnt == 2) break; + } + return cnt == 1; + } +} From 88b2e34a50188e7a565c156f7fb56f3587b8ebbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=97=BC=ED=98=9C=EC=A0=95?= <122238744+cyzlcyzl@users.noreply.github.com> Date: Tue, 18 Aug 2026 22:40:28 +0900 Subject: [PATCH 2/3] Create 3838. Weighted Word Mapping.java --- .../3838. Weighted Word Mapping.java" | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 "leetcode3/\354\227\274\355\230\234\354\240\225/3838. Weighted Word Mapping.java" diff --git "a/leetcode3/\354\227\274\355\230\234\354\240\225/3838. Weighted Word Mapping.java" "b/leetcode3/\354\227\274\355\230\234\354\240\225/3838. Weighted Word Mapping.java" new file mode 100644 index 00000000..2535455a --- /dev/null +++ "b/leetcode3/\354\227\274\355\230\234\354\240\225/3838. Weighted Word Mapping.java" @@ -0,0 +1,17 @@ +// 97 ~ 122 + +class Solution { + public String mapWordWeights(String[] words, int[] weights) { + StringBuilder sb = new StringBuilder(); + for (String word : words) { + int sum = 0; + for (char c : word.toCharArray()) { + int num = (int) c - 97; + sum += weights[num]; + } + int mod = sum % 26; + sb.append((char)('z' - mod)); + } + return sb.toString(); + } +} From 7d8efee08b09827478e137f6faca0a1d561fbd12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=97=BC=ED=98=9C=EC=A0=95?= <122238744+cyzlcyzl@users.noreply.github.com> Date: Tue, 18 Aug 2026 22:41:26 +0900 Subject: [PATCH 3/3] Create 1034. Coloring A Border.java --- .../1034. Coloring A Border.java" | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 "leetcode3/\354\227\274\355\230\234\354\240\225/1034. Coloring A Border.java" diff --git "a/leetcode3/\354\227\274\355\230\234\354\240\225/1034. Coloring A Border.java" "b/leetcode3/\354\227\274\355\230\234\354\240\225/1034. Coloring A Border.java" new file mode 100644 index 00000000..cf3f056f --- /dev/null +++ "b/leetcode3/\354\227\274\355\230\234\354\240\225/1034. Coloring A Border.java" @@ -0,0 +1,46 @@ +// dfs + +class Solution { + + boolean[][] isVisited; + int[] dr = {-1, 1, 0, 0}; + int[] dc = {0, 0, -1, 1}; + + public int[][] colorBorder(int[][] grid, int row, int col, int color) { + isVisited = new boolean[grid.length][grid[0].length]; + + List borders = new ArrayList<>(); + dfs (grid, row, col, grid[row][col], borders); + + for (int[] b : borders) { + grid[b[0]][b[1]] = color; + } + + return grid; + } + + void dfs(int[][] grid, int row, int col, int gridColor, List borders) { + isVisited[row][col] = true; + + boolean isBorder = false; + for (int i = 0; i<4; i++) { + int nr = row + dr[i]; + int nc = col + dc[i]; + + if (nr<0 || nr>=grid.length || nc<0 || nc>=grid[0].length) { // 테두리 + isBorder = true; + continue; + } + + if (grid[nr][nc] != gridColor) { + isBorder = true; + continue; + } + + if (!isVisited[nr][nc]) { + dfs(grid, nr, nc, gridColor, borders); + } + } + if (isBorder) borders.add(new int[]{row, col}); + } +}