From 1d63fcbb2f39977e70afa9db0454fe68c051c785 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=8B=A0=EC=A7=80?= <101992179+ksinji@users.noreply.github.com> Date: Wed, 12 Nov 2025 21:21:29 +0900 Subject: [PATCH] =?UTF-8?q?[20251112]=20PGM=20/=20LV3=20/=20=EC=88=9C?= =?UTF-8?q?=EC=9C=84=20/=20=EA=B0=95=EC=8B=A0=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../12 PGM \354\210\234\354\234\204.md" | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 "ksinji/202511/12 PGM \354\210\234\354\234\204.md" diff --git "a/ksinji/202511/12 PGM \354\210\234\354\234\204.md" "b/ksinji/202511/12 PGM \354\210\234\354\234\204.md" new file mode 100644 index 00000000..e0b45242 --- /dev/null +++ "b/ksinji/202511/12 PGM \354\210\234\354\234\204.md" @@ -0,0 +1,51 @@ +```java +import java.util.*; + +class Solution { + public int solution(int n, int[][] results) { + int[][] g = new int[n + 1][n + 1]; + + // 이기면 1, 지면 -1, 모르면 0 + for (int[] r : results) { + int win = r[0], lose = r[1]; + + g[win][lose] = 1; + g[lose][win] = -1; + } + + for (int k = 1; k <= n; k++) { + for (int i = 1; i <= n; i++) { + if (i == k) continue; + for (int j = 1; j <= n; j++) { + if (j == i || j == k) continue; + + if (g[i][k] == 1 && g[k][j] == 1) { + g[i][j] = 1; + g[j][i] = -1; + } + + else if (g[i][k] == -1 && g[k][j] == -1) { + g[i][j] = -1; + g[j][i] = 1; + } + } + } + } + + int answer = 0; + for (int i = 1; i <= n; i++) { + boolean know = true; + for (int j = 1; j <= n; j++) { + if (i == j) continue; + if (g[i][j] == 0) { + know = false; + break; + } + } + if (know) answer++; + } + + return answer; + } +} +``` \ No newline at end of file