ํ๋ก๊ทธ๋๋จธ์ค
-
ํผ๋ณด๋์น ์Algorithm 2021. 5. 20. 11:01
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ํผ๋ณด๋์น ์์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ํผ๋ณด๋์น ์๋ F(0) = 0, F(1) = 1์ผ ๋, 1 ์ด์์ n์ ๋ํ์ฌ F(n) = F(n-1) + F(n-2) ๊ฐ ์ ์ฉ๋๋ ์ ์ ๋๋ค. F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 ์ ๊ฐ์ด ์ด์ด์ง๋๋ค. 2 ์ด์์ n์ด ์ ๋ ฅ๋์์ ๋, n๋ฒ์งธ ํผ๋ณด๋์น ์๋ฅผ 1234567์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ๋ฆฌํดํ๋ ํจ์, solution์ ์์ฑํด ์ฃผ์ธ์. ์ ํ ์ฌํญ * n์ 1์ด์, 100000์ดํ์ธ ์์ฐ์์ ๋๋ค. ์ ์ถ๋ ฅ ์ 3 2 5 5 ํผ๋ณด๋์น์๋ 0๋ฒ์งธ๋ถํฐ..
-
๋ด์ Algorithm 2021. 5. 19. 13:35
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ์๊ฐ ์ฝ๋ ์ฑ๋ฆฐ์ง ์์ฆ1 > ๋ด์ ์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ๊ธธ์ด๊ฐ ๊ฐ์ ๋ 1์ฐจ์ ์ ์ ๋ฐฐ์ด a, b๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. a์ b์ ๋ด์ ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.์ ํ์ฌํญ a, b์ ๊ธธ์ด๋ 1 ์ด์ 1,000 ์ดํ์ ๋๋ค. a, b์ ๋ชจ๋ ์๋ -1,000 ์ด์ 1,000 ์ดํ์ ๋๋ค. ์ ์ถ๋ ฅ ์ [1,2,3,4] [-3,-1,0,2] 3 [-1,0,1] [1,0,-1] -2 ์ ์ถ๋ ฅ ์ ์ค๋ช ์ ์ถ๋ ฅ ์ #1 a์ b์ ๋ด์ ์ 1*(-3) + 2*(-1) + 3*0 + 4*2 = 3 ์ ๋๋ค. ์ ์ถ๋ ฅ ์ #2 a์ b์ ๋ด์ ์ (-1)*1 + 0*0 + 1*(-1) = -2 ์ ๋๋ค. ์ด๋, a์ b์ ๋ด์ ์ a[0]*b[0] + a[..
-
์์ ๋ํ๊ธฐAlgorithm 2021. 5. 18. 10:11
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ์๊ฐ ์ฝ๋ ์ฑ๋ฆฐ์ง ์์ฆ2 > ์์ ๋ํ๊ธฐ์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ์ด๋ค ์ ์๋ค์ด ์์ต๋๋ค. ์ด ์ ์๋ค์ ์ ๋๊ฐ์ ์ฐจ๋ก๋๋ก ๋ด์ ์ ์ ๋ฐฐ์ด absolutes์ ์ด ์ ์๋ค์ ๋ถํธ๋ฅผ ์ฐจ๋ก๋๋ก ๋ด์ ๋ถ๋ฆฌ์ธ ๋ฐฐ์ด signs๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ์ค์ ์ ์๋ค์ ํฉ์ ๊ตฌํ์ฌ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ absolutes์ ๊ธธ์ด๋ 1 ์ด์ 1,000 ์ดํ์ ๋๋ค. absolutes์ ๋ชจ๋ ์๋ ๊ฐ๊ฐ 1 ์ด์ 1,000 ์ดํ์ ๋๋ค. signs์ ๊ธธ์ด๋ absolutes์ ๊ธธ์ด์ ๊ฐ์ต๋๋ค. signs[i] ๊ฐ ์ฐธ์ด๋ฉด absolutes[i] ์ ์ค์ ์ ์๊ฐ ์์์์, ๊ทธ๋ ์ง ์์ผ๋ฉด ์์์์ ์๋ฏธํฉ๋๋ค. ์ ์ถ๋ ฅ ์ [4,7,12] [true,f..
-
ํํAlgorithm 2021. 5. 17. 12:06
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ์ฝ๋ฉํ ์คํธ > 2019 ์นด์นด์ค ๊ฐ๋ฐ์ ๊ฒจ์ธ ์ธํด์ญ > ํํ์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ์ ์์๋ ์๋์ ์์์๋ ์ด๊ฑฐ ๋๋ ์ด๋ค ์์๋ฅผ ๋ฐ๋ฅด๋ ์์๋ค์ ๋ชจ์์ ํํ(tuple)์ด๋ผ๊ณ ํฉ๋๋ค. n๊ฐ์ ์์๋ฅผ ๊ฐ์ง ํํ์ n-ํํ(n-tuple)์ด๋ผ๊ณ ํ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ด ํํํ ์ ์์ต๋๋ค. (a1, a2, a3, ..., an) ํํ์ ๋ค์๊ณผ ๊ฐ์ ์ฑ์ง์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ค๋ณต๋ ์์๊ฐ ์์ ์ ์์ต๋๋ค. ex : (2, 3, 1, 2) ์์์ ์ ํด์ง ์์๊ฐ ์์ผ๋ฉฐ, ์์์ ์์๊ฐ ๋ค๋ฅด๋ฉด ์๋ก ๋ค๋ฅธ ํํ์ ๋๋ค. ex : (1, 2, 3) ≠ (1, 3, 2) ํํ์ ์์ ๊ฐ์๋ ์ ํํฉ๋๋ค. ์์์ ๊ฐ์๊ฐ n๊ฐ์ด๊ณ , ์ค๋ณต๋๋ ์์๊ฐ ์๋ ํํ (a1, a2, a3, ...
-
JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐAlgorithm 2021. 5. 11. 12:08
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ์ฝ๋ฉํ ์คํธ > JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ JadenCase๋ ๋ชจ๋ ๋จ์ด์ ์ฒซ ๋ฌธ์๊ฐ ๋๋ฌธ์์ด๊ณ , ๊ทธ ์ธ์ ์ํ๋ฒณ์ ์๋ฌธ์์ธ ๋ฌธ์์ด์ ๋๋ค. ๋ฌธ์์ด s๊ฐ ์ฃผ์ด์ก์ ๋, s๋ฅผ JadenCase๋ก ๋ฐ๊พผ ๋ฌธ์์ด์ ๋ฆฌํดํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์. ์ ํ ์กฐ๊ฑด s๋ ๊ธธ์ด 1 ์ด์์ธ ๋ฌธ์์ด์ ๋๋ค. s๋ ์ํ๋ฒณ๊ณผ ๊ณต๋ฐฑ๋ฌธ์(" ")๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ์ฒซ ๋ฌธ์๊ฐ ์๋ฌธ์ด ์๋๋์๋ ์ด์ด์ง๋ ์๋ฌธ์ ์๋ฌธ์๋ก ์๋๋ค. ( ์ฒซ๋ฒ์งธ ์ ์ถ๋ ฅ ์ ์ฐธ๊ณ ) ์ ์ถ๋ ฅ ์ "3people unFollowed me" "3people Unfollowed Me" "for the last week" "For The Last Week" ๋ฌธ์ ํด๊ฒฐ func sol..
-
N๊ฐ์ ์ต์๊ณต๋ฐฐ์Algorithm 2021. 5. 10. 18:55
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ์ฝ๋ฉํ ์คํธ > N๊ฐ์ ์ต์๊ณต๋ฐฐ์์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ๋ ์์ ์ต์๊ณต๋ฐฐ์(Least Common Multiple)๋ ์ ๋ ฅ๋ ๋ ์์ ๋ฐฐ์ ์ค ๊ณตํต์ด ๋๋ ๊ฐ์ฅ ์์ ์ซ์๋ฅผ ์๋ฏธํฉ๋๋ค. ์๋ฅผ ๋ค์ด 2์ 7์ ์ต์๊ณต๋ฐฐ์๋ 14๊ฐ ๋ฉ๋๋ค. ์ ์๋ฅผ ํ์ฅํด์, n๊ฐ์ ์์ ์ต์๊ณต๋ฐฐ์๋ n ๊ฐ์ ์๋ค์ ๋ฐฐ์ ์ค ๊ณตํต์ด ๋๋ ๊ฐ์ฅ ์์ ์ซ์๊ฐ ๋ฉ๋๋ค. n๊ฐ์ ์ซ์๋ฅผ ๋ด์ ๋ฐฐ์ด arr์ด ์ ๋ ฅ๋์์ ๋ ์ด ์๋ค์ ์ต์๊ณต๋ฐฐ์๋ฅผ ๋ฐํํ๋ ํจ์, solution์ ์์ฑํด ์ฃผ์ธ์. ์ ํ ์ฌํญ arr์ ๊ธธ์ด 1์ด์, 15์ดํ์ธ ๋ฐฐ์ด์ ๋๋ค. arr์ ์์๋ 100 ์ดํ์ธ ์์ฐ์์ ๋๋ค. ์ ์ถ๋ ฅ ์ [2,6,8,14] 168 [1,2,3] 6 ๋ฌธ์ ํด๊ฒฐ import Foundation f..
-
์์ ํ์ > ์นดํซAlgorithm 2021. 5. 6. 19:56
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ์ฝ๋ฉํ ์คํธ > ์์ ํ์ > ์นดํซ (๊ณ ๋์ Kit)์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ Leo๋ ์นดํซ์ ์ฌ๋ฌ ๊ฐ๋ค๊ฐ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ค์์๋ ๋ ธ๋์์ผ๋ก ์น ํด์ ธ ์๊ณ ํ ๋๋ฆฌ 1์ค์ ๊ฐ์์ผ๋ก ์น ํด์ ธ ์๋ ๊ฒฉ์ ๋ชจ์ ์นดํซ์ ๋ดค์ต๋๋ค. Leo๋ ์ง์ผ๋ก ๋์์์ ์๊น ๋ณธ ์นดํซ์ ๋ ธ๋์๊ณผ ๊ฐ์์ผ๋ก ์์น ๋ ๊ฒฉ์์ ๊ฐ์๋ ๊ธฐ์ตํ์ง๋ง, ์ ์ฒด ์นดํซ์ ํฌ๊ธฐ๋ ๊ธฐ์ตํ์ง ๋ชปํ์ต๋๋ค. Leo๊ฐ ๋ณธ ์นดํซ์์ ๊ฐ์ ๊ฒฉ์์ ์ brown, ๋ ธ๋์ ๊ฒฉ์์ ์ yellow๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ์นดํซ์ ๊ฐ๋ก, ์ธ๋ก ํฌ๊ธฐ๋ฅผ ์์๋๋ก ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ ๊ฐ์ ๊ฒฉ์์ ์ brown์ 8 ์ด์ 5,000 ์ดํ์ธ ์์ฐ์์ ๋๋ค. ๋ ธ๋์ ๊ฒฉ์์ ์ yellow..
-
๊น์ด/๋๋น ์ฐ์ ํ์(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 ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ ์ฃผ์ด์ง๋ ์ซ..