File tree Expand file tree Collapse file tree 3 files changed +36
-0
lines changed Expand file tree Collapse file tree 3 files changed +36
-0
lines changed Original file line number Diff line number Diff line change
1
+ // ํ์ด
2
+ // map์ผ๋ก ์ค๋ณต๋ ๊ฐ์ด ์๋์ง ์ฒดํฌ
3
+
4
+ // TC
5
+ // ์ค๋ณต์ด ํ๋๋ ์๋ ๊ฒฝ์ฐ์ ์ต๋ n๋ฒ ์กฐํ
6
+ // n๋ฒ ๋ฐ๋ณต์ ์ด ์์
์ ๋ณต์ก๋๋ O(n)
7
+
8
+ // SC
9
+ // n๊ฐ์ ์ซ์๋ฅผ ์ ์ฅํ๋ฉด map์ด ์ฌ์ฉํ๋ ๊ณต๊ฐ์ ์ต๋ O(n)
10
+
11
+ // (+) ์ ๋ ฌ์ ์ฌ์ฉํ๋ค๋ฉด?
12
+ // ์
๋ ฅ๋ ๋ฐฐ์ด์ ์ ๋ ฌํด์ ์๋ก ์ธ์ ํ ๊ฐ์ ๋น๊ตํ๋ฉด O(1)์ SC๋ก ์ค๋ณต ํ์ธ ๊ฐ๋ฅ.
13
+ // ๊ทธ๋ฌ๋ ์ ๋ ฌ์ ์ฌ์ฉํ๋ฉด TC๊ฐ O(nlogn).
14
+
1
15
func containsDuplicate (nums []int ) bool {
2
16
m := make (map [int ]int )
3
17
for _ , num := range nums {
Original file line number Diff line number Diff line change
1
+ // ํ์ด
2
+ // map์ผ๋ก ์
๋ ฅ ์ซ์๋ค์ด ๊ฐ๊ฐ ๋ช๋ฒ ๋ฐ๋ณต๋๋์ง ์ ๋ฆฌ
3
+ // [][]int๋ฅผ ์ ์ธํ๊ณ ๋ฐ๋ณต๋ ํ์๋ฅผ index๋ก, ์
๋ ฅ ์ซ์๊ฐ์ ๋ฐฐ์ด์ appendํ๋ค.
4
+ // ๊ทธ๋ฆฌ๊ณ ๋ฐฐ์ด์ ์ญ์์ผ๋ก ์ํํ๋ฉฐ k๊ฐ์ element๋ฅผ ๊ฐ์ง ๊ฒฐ๊ณผ ๋ฐฐ์ด์ ๋ง๋ ๋ค.
5
+
6
+ // TC
7
+ // O(n)
8
+
9
+ // SC
10
+ // ๋ชจ๋ ์ซ์๊ฐ ๋ค๋ฅด๋ค๊ณ ํด๋ ๊ฐ ์ซ์๋ ํ๋์ ํ์๋ฐฐ์ด์๋ง ์ํ๋ค. ๋ฐ๋ผ์ O(n)
11
+
1
12
func topKFrequent (nums []int , k int ) []int {
2
13
m := make (map [int ]int )
3
14
for _ , num := range nums {
Original file line number Diff line number Diff line change
1
+ // ํ์ด
2
+ // ์ ํจํ string ๊ฐ๋ง ์ ์ ํ๊ณ palindrome check.
3
+
4
+ // TC
5
+ // ์
๋ ฅ๋ string์ ๊ธธ์ด์ ๋ฐ๋ผ ์ต๋ O(n)
6
+
7
+ // SC
8
+ // validStr์ผ๋ก ์ ํจํ string์ ์ ์ ํ๊ธฐ ๋๋ฌธ์ ์ต๋ O(n)
9
+
10
+ // (+) ์
๋ ฅ๋ string์ ์ฌ์ฉํ๋ ๋ฐฉ์์ผ๋ก ๊ฐ์ ํ๋ฉด SC๊ฐ O(1)
11
+
1
12
func isPalindrome (s string ) bool {
2
13
s = strings .ToLower (s )
3
14
validStr := ""
You canโt perform that action at this time.
0 commit comments