From 814feb6cc9dddf783ccfb6af8d38d3c8eebcbfb4 Mon Sep 17 00:00:00 2001 From: choiminji Date: Sat, 12 Sep 2026 23:56:46 +0900 Subject: [PATCH] 0912 --- .../1329.py" | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 "leetcode3/\354\265\234\353\257\274\354\247\200/1329.py" diff --git "a/leetcode3/\354\265\234\353\257\274\354\247\200/1329.py" "b/leetcode3/\354\265\234\353\257\274\354\247\200/1329.py" new file mode 100644 index 00000000..eaf5513e --- /dev/null +++ "b/leetcode3/\354\265\234\353\257\274\354\247\200/1329.py" @@ -0,0 +1,19 @@ +class Solution: + def diagonalSort(self, mat: List[List[int]]) -> List[List[int]]: + diagonal = defaultdict(list) + + # 1. 같은 대각선끼리 모으기 + for x in range(len(mat)): + for y in range(len(mat[0])): + diagonal[x - y].append(mat[x][y]) + + # 2. 각 대각선 정렬 + for key in diagonal: + diagonal[key].sort(reverse=True) + + # 3. 다시 mat에 넣기 + for x in range(len(mat)): + for y in range(len(mat[0])): + mat[x][y] = diagonal[x - y].pop() + + return mat