diff --git "a/ksinji/202511/8 PGM \354\202\274\352\260\201 \353\213\254\355\214\275\354\235\264.md" "b/ksinji/202511/8 PGM \354\202\274\352\260\201 \353\213\254\355\214\275\354\235\264.md" new file mode 100644 index 00000000..aa8cf742 --- /dev/null +++ "b/ksinji/202511/8 PGM \354\202\274\352\260\201 \353\213\254\355\214\275\354\235\264.md" @@ -0,0 +1,44 @@ +```java +import java.util.*; + +class Solution { + public int[] solution(int n) { + int total = n * (n + 1) / 2; + int[][] tri = new int[n][n]; + + int num = 1; + int r = -1; + int c = 0; + int len = n; + + while (len > 0) { + for (int i = 0; i < len; i++) { + tri[++r][c] = num++; + } + len--; + if (len == 0) break; + + for (int i = 0; i < len; i++) { + tri[r][++c] = num++; + } + len--; + if (len == 0) break; + + for (int i = 0; i < len; i++) { + tri[--r][--c] = num++; + } + len--; + } + + int[] answer = new int[total]; + int idx = 0; + for (int i = 0; i < n; i++) { + for (int j = 0; j <= i; j++) { + answer[idx++] = tri[i][j]; + } + } + return answer; + } +} + +```