SWIFT
-
๊น์ด/๋๋น ์ฐ์ ํ์(DFS/BFS) - ํ๊ฒ ๋๋ฒAlgorithm 2021. 5. 6. 12:20
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ์ฝ๋ฉํ ์คํธ > ๊น์ด/๋๋น ์ฐ์ ํ์(DFS/BFS) > ํ๊ฒ ๋๋ฒ (๊ณ ๋์ Kit)์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ n๊ฐ์ ์์ด ์๋ ์ ์๊ฐ ์์ต๋๋ค. ์ด ์๋ฅผ ์ ์ ํ ๋ํ๊ฑฐ๋ ๋นผ์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด [1, 1, 1, 1, 1]๋ก ์ซ์ 3์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ค์ฏ ๋ฐฉ๋ฒ์ ์ธ ์ ์์ต๋๋ค. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 ์ฌ์ฉํ ์ ์๋ ์ซ์๊ฐ ๋ด๊ธด ๋ฐฐ์ด numbers, ํ๊ฒ ๋๋ฒ target์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ์ซ์๋ฅผ ์ ์ ํ ๋ํ๊ณ ๋นผ์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ ์ฃผ์ด์ง๋ ์ซ..
-
ํ์๋ฒ - ํฐ ์ ๋ง๋ค๊ธฐAlgorithm 2021. 5. 5. 14:55
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ์ฝ๋ฉํ ์คํธ > ํ์๋ฒ > ํฐ ์ ๋ง๋ค๊ธฐ (๊ณ ๋์ Kit)์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ์ด๋ค ์ซ์์์ k๊ฐ์ ์๋ฅผ ์ ๊ฑฐํ์ ๋ ์ป์ ์ ์๋ ๊ฐ์ฅ ํฐ ์ซ์๋ฅผ ๊ตฌํ๋ ค ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ซ์ 1924์์ ์ ๋ ๊ฐ๋ฅผ ์ ๊ฑฐํ๋ฉด [19, 12, 14, 92, 94, 24] ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ด ์ค ๊ฐ์ฅ ํฐ ์ซ์๋ 94 ์ ๋๋ค. ๋ฌธ์์ด ํ์์ผ๋ก ์ซ์ number์ ์ ๊ฑฐํ ์์ ๊ฐ์ k๊ฐ solution ํจ์์ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. number์์ k ๊ฐ์ ์๋ฅผ ์ ๊ฑฐํ์ ๋ ๋ง๋ค ์ ์๋ ์ ์ค ๊ฐ์ฅ ํฐ ์ซ์๋ฅผ ๋ฌธ์์ด ํํ๋ก return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์. ์ ํ ์กฐ๊ฑด number๋ 1์๋ฆฌ ์ด์, 1,000,000์๋ฆฌ ์ดํ์ธ ์ซ์์ ๋๋ค. k๋ 1..
-
์ ๋ ฌ - H-IndexAlgorithm 2021. 5. 5. 10:42
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ์ฝ๋ฉํ ์คํธ > ์ ๋ ฌ > H-Index (๊ณ ๋์ Kit)์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ H-Index๋ ๊ณผํ์์ ์์ฐ์ฑ๊ณผ ์ํฅ๋ ฅ์ ๋ํ๋ด๋ ์งํ์ ๋๋ค. ์ด๋ ๊ณผํ์์ H-Index๋ฅผ ๋ํ๋ด๋ ๊ฐ์ธ h๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค. ์ํค๋ฐฑ๊ณผ1์ ๋ฐ๋ฅด๋ฉด, H-Index๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํฉ๋๋ค. ์ด๋ค ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ nํธ ์ค, h๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ด hํธ ์ด์์ด๊ณ ๋๋จธ์ง ๋ ผ๋ฌธ์ด h๋ฒ ์ดํ ์ธ์ฉ๋์๋ค๋ฉด h์ ์ต๋๊ฐ์ด ์ด ๊ณผํ์์ H-Index์ ๋๋ค. ์ด๋ค ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ์ ์ธ์ฉ ํ์๋ฅผ ๋ด์ ๋ฐฐ์ด citations๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด ๊ณผํ์์ H-Index๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ์ ์๋ 1ํธ ์ด์ 1,..
-
์ ๋ ฌ - ๊ฐ์ฅ ํฐ ์Algorithm 2021. 5. 4. 16:51
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ์ฝ๋ฉํ ์คํธ > ์ ๋ ฌ > ๊ฐ์ฅ ํฐ ์ (๊ณ ๋์ Kit)์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ 0 ๋๋ ์์ ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ ์๋ฅผ ์ด์ด ๋ถ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ์์๋ด ์ฃผ์ธ์. ์๋ฅผ ๋ค์ด, ์ฃผ์ด์ง ์ ์๊ฐ [6, 10, 2]๋ผ๋ฉด [6102, 6210, 1062, 1026, 2610, 2106]๋ฅผ ๋ง๋ค ์ ์๊ณ , ์ด์ค ๊ฐ์ฅ ํฐ ์๋ 6210์ ๋๋ค. 0 ๋๋ ์์ ์ ์๊ฐ ๋ด๊ธด ๋ฐฐ์ด numbers๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์์๋ฅผ ์ฌ๋ฐฐ์นํ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ ์ฌํญ numbers์ ๊ธธ์ด๋ 1 ์ด์ 100,000 ์ดํ์ ๋๋ค. numbers์ ์์๋ 0 ์ด์ 1,000 ์ดํ์ ๋๋ค. ์ ๋ต์ด..
-
ํ์๋ฒ > ์ฒด์ก๋ณตAlgorithm 2021. 5. 4. 13:27
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ์ฝ๋ฉํ ์คํธ > ํ์๋ฒ > ์ฒด์ก๋ณต (๊ณ ๋์ Kit)์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ์ ์ฌ์๊ฐ์ ๋๋์ด ๋ค์ด, ์ผ๋ถ ํ์์ด ์ฒด์ก๋ณต์ ๋๋๋นํ์ต๋๋ค. ๋คํํ ์ฌ๋ฒ ์ฒด์ก๋ณต์ด ์๋ ํ์์ด ์ด๋ค์๊ฒ ์ฒด์ก๋ณต์ ๋น๋ ค์ฃผ๋ ค ํฉ๋๋ค. ํ์๋ค์ ๋ฒํธ๋ ์ฒด๊ฒฉ ์์ผ๋ก ๋งค๊ฒจ์ ธ ์์ด, ๋ฐ๋ก ์๋ฒํธ์ ํ์์ด๋ ๋ฐ๋ก ๋ท๋ฒํธ์ ํ์์๊ฒ๋ง ์ฒด์ก๋ณต์ ๋น๋ ค์ค ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, 4๋ฒ ํ์์ 3๋ฒ ํ์์ด๋ 5๋ฒ ํ์์๊ฒ๋ง ์ฒด์ก๋ณต์ ๋น๋ ค์ค ์ ์์ต๋๋ค. ์ฒด์ก๋ณต์ด ์์ผ๋ฉด ์์ ์ ๋ค์ ์ ์๊ธฐ ๋๋ฌธ์ ์ฒด์ก๋ณต์ ์ ์ ํ ๋น๋ ค ์ต๋ํ ๋ง์ ํ์์ด ์ฒด์ก์์ ์ ๋ค์ด์ผ ํฉ๋๋ค. ์ ์ฒด ํ์์ ์ n, ์ฒด์ก๋ณต์ ๋๋๋นํ ํ์๋ค์ ๋ฒํธ๊ฐ ๋ด๊ธด ๋ฐฐ์ด lost, ์ฌ๋ฒ์ ์ฒด์ก๋ณต์ ๊ฐ์ ธ์จ ํ์๋ค์ ๋ฒํธ๊ฐ ๋ด๊ธด ๋ฐฐ์ด reserve๊ฐ..
-
์์ ํ์ - ๋ชจ์๊ณ ์ฌAlgorithm 2021. 5. 4. 11:21
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ์ฝ๋ฉํ ์คํธ > ์์ ํ์ > ๋ชจ์๊ณ ์ฌ (๊ณ ๋์ Kit)์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ์ํฌ์๋ ์ํ์ ํฌ๊ธฐํ ์ฌ๋์ ์ค๋ง์ ๋๋ค. ์ํฌ์ ์ผ์ธ๋ฐฉ์ ๋ชจ์๊ณ ์ฌ์ ์ํ ๋ฌธ์ ๋ฅผ ์ ๋ถ ์ฐ์ผ๋ ค ํฉ๋๋ค. ์ํฌ์๋ 1๋ฒ ๋ฌธ์ ๋ถํฐ ๋ง์ง๋ง ๋ฌธ์ ๊น์ง ๋ค์๊ณผ ๊ฐ์ด ์ฐ์ต๋๋ค. 1๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1๋ฒ ๋ฌธ์ ๋ถํฐ ๋ง์ง๋ง ๋ฌธ์ ๊น์ง์ ์ ๋ต์ด ์์๋๋ก ๋ค์ ๋ฐฐ์ด answers๊ฐ ..
-
์ ๋ ฌ - k๋ฒ์งธ์Algorithm 2021. 5. 4. 10:13
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ์ฝ๋ฉํ ์คํธ > ์ ๋ ฌ > k๋ฒ์งธ์ (๊ณ ๋์ Kit)์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ๋ฐฐ์ด array์ i๋ฒ์งธ ์ซ์๋ถํฐ j๋ฒ์งธ ์ซ์๊น์ง ์๋ฅด๊ณ ์ ๋ ฌํ์ ๋, k๋ฒ์งธ์ ์๋ ์๋ฅผ ๊ตฌํ๋ ค ํฉ๋๋ค. ์๋ฅผ ๋ค์ด array๊ฐ [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3์ด๋ผ๋ฉด array์ 2๋ฒ์งธ๋ถํฐ 5๋ฒ์งธ๊น์ง ์๋ฅด๋ฉด [5, 2, 6, 3]์ ๋๋ค. 1์์ ๋์จ ๋ฐฐ์ด์ ์ ๋ ฌํ๋ฉด [2, 3, 5, 6]์ ๋๋ค. 2์์ ๋์จ ๋ฐฐ์ด์ 3๋ฒ์งธ ์ซ์๋ 5์ ๋๋ค. ๋ฐฐ์ด array, [i, j, k]๋ฅผ ์์๋ก ๊ฐ์ง 2์ฐจ์ ๋ฐฐ์ด commands๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, commands์ ๋ชจ๋ ์์์ ๋ํด ์์ ์ค๋ช ํ ์ฐ์ฐ์ ์ ์ฉํ์ ๋ ๋์จ ๊ฒฐ๊ณผ๋ฅผ ๋ฐฐ์ด์ ๋ด์ retur..
-
๋ฌธ์์ด ์ฒ๋ฆฌ - ์คํ์ฑํ ๋ฐฉAlgorithm 2021. 5. 3. 14:28
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ์ฝ๋ฉํ ์คํธ > ์คํ์ฑํ ๋ฐฉ์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ์ง๋ฌธ์ด ๊ธธ์ด ๋งํฌ๋ก ๋์ โบ๏ธ programmers.co.kr/learn/courses/30/lessons/42888 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์คํ์ฑํ ๋ฐฉ ์คํ์ฑํ ๋ฐฉ ์นด์นด์คํก ์คํ์ฑํ ๋ฐฉ์์๋ ์น๊ตฌ๊ฐ ์๋ ์ฌ๋๋ค๊ณผ ๋ํ๋ฅผ ํ ์ ์๋๋ฐ, ๋ณธ๋ ๋๋ค์์ด ์๋ ๊ฐ์์ ๋๋ค์์ ์ฌ์ฉํ์ฌ ์ฑํ ๋ฐฉ์ ๋ค์ด๊ฐ ์ ์๋ค. ์ ์ ์ฌ์์ธ ๊นํฌ๋ฃจ๋ ์นด์นด์คํก ์ค programmers.co.kr ๋ฌธ์ ํด๊ฒฐ import Foundation var nickName: [String : String] = [:] var input: [(id: String, commend: String)] = [] func solution(_ record:[String]) ..