Skip to content

Commit 2c9e055

Browse files
week10 mission graph-valid-tree
1 parent 2d29799 commit 2c9e055

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
- ๋ฌธ์ œ
2+
- ์œ ๋ฃŒ: https://leetcode.com/problems/graph-valid-tree/
3+
- ๋ฌด๋ฃŒ: https://www.lintcode.com/problem/178/
4+
- ํ’€์ด: https://algorithm.jonghoonpark.com/2024/07/02/leetcode-261
5+
6+
## ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ํ’€์ด
7+
8+
```java
9+
public class Solution {
10+
public boolean validTree(int n, int[][] edges) {
11+
int[] degrees = new int[n];
12+
13+
for (int[] edge : edges) {
14+
int largeOne = Math.max(edge[0], edge[1]);
15+
if (degrees[largeOne] == 0) {
16+
degrees[largeOne] += 1;
17+
} else {
18+
return false;
19+
}
20+
}
21+
22+
int zeroCount = 0;
23+
for (int degree : degrees) {
24+
if (degree == 0) {
25+
zeroCount++;
26+
}
27+
28+
if (zeroCount > 1) {
29+
return false;
30+
}
31+
}
32+
33+
return zeroCount == 1;
34+
}
35+
}
36+
```
37+
38+
๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐ€์ •์„ ํ•˜๊ณ  ํ’€์—ˆ๋‹ค.
39+
40+
- ๋ฃจํŠธ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๋…ธ๋“œ๋Š” 1๊ฐœ์˜ ๋ถ€๋ชจ๋ฅผ ๊ฐ€์ง„๋‹ค.
41+
- ๋ฃจํŠธ๋Š” ๋ถ€๋ชจ๋ฅผ ๊ฐ€์ง€์ง€ ์•Š๋Š”๋‹ค.
42+
43+
๋”ฐ๋ผ์„œ ๊ฐ ๋…ธ๋“œ๋กœ ๋“ค์–ด์˜ค๋Š” ์ˆ˜๋ฅผ ์„ธ์–ด๋ดค์„ ๋•Œ ๋ฃจํŠธ์—๋Š” ๋“ค์–ด์˜ค๋Š” ๊ฐ„์„ ์ด ์—†์–ด์•ผ ํ•˜๋ฉฐ, ๋‚˜๋จธ์ง€ ๋…ธ๋“œ๋Š” 1๊ฐœ์˜ ๊ฐ„์„ ์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.
44+
45+
### TC, SC
46+
47+
์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(n)์ด๋‹ค. ๊ณต๊ฐ„ ๋ณต์žก๋„๋Š” O(n)์ด๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ์กฐ๊ธˆ ๋” ๋””ํ…Œ์ผ ํ•˜๊ฒŒ ๋ณด์ž๋ฉด ๊ฐ„์„  ์˜ ์ˆ˜๋„ ํฌํ•จ์„ ์‹œํ‚ฌ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

0 commit comments

Comments
ย (0)