์ ์ฒด ๊ธ
-
์ง์ ๋ณํSwift 2021. 5. 27. 11:29
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ Swift์์ ์ง์ ๋ณํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ํ์ตํ๊ฒ ์ต๋๋ค๐ง๐ป๐ป ์ง์๋? ์ผ๋งํผ์ ์๋ฅผ ์ฆ๊ฐ์ํจ ํ ์๋ฆฟ์๋ฅผ ์ฌ๋ฆด ๊ฒ์ธ์ง์ ๋ํ ๋จ์๋ฅผ ๋งํฉ๋๋ค. ์ฆ, 2์ง์๋ 2๊ฐ์ ์๋ฅผ ์ฌ์ฉํ๊ณ 8์ง์๋ 8๊ฐ์ 16์ง์๋ 16๊ฐ์ ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ ์๊ณ ๊ณ์๊ฒ ์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋ก ์ค์ํ์์๋ 10์ง์ ์ฆ 10๊ฐ์ 0~9๊น์ง์ ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ํ๋ ๋๋ค. ๊ทธ๋ ๋ค๋ฉด, ๊ฐ ์ง์ ํํ์ด ๋ค๋ฅธ๋ฐ ์ ์์์ผ ํ ๊น์? ํนํ 2์ง์๋ ์ปดํจํฐ๊ฐ ๋ํ๋ผ ์ ์๋ ์์ ๋ฒ์๋ก 2์ง์๋ฅผ 10์ง์๋ก 10์ง์๋ฅผ 2์ง์๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ๊ณผ ์ดํดํ๋๊ฒ์ด ์ค์ํฉ๋๋ค. ๋ํ์ ์ผ๋ก ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ 2์ง์, 8์ง์, 10์ง์, 16์ง์์ ๋ํด ์์๋ณด๊ณ ๊ฐ ๋ณํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ด ์๋ค! // MARK: - ์ง์..
-
[1์ฐจ] ๋น๋ฐ์ง๋Algorithm 2021. 5. 27. 10:59
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ 2018 KAKAO BLIND RECRUITMENT > [1์ฐจ] ๋น๋ฐ์ง๋์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ๋ค์ค๋ ํ์ ํ๋ก๋๊ฐ ๋น์๊ธ์ ์จ๊ฒจ๋๋ ์ฅ์๋ฅผ ์๋ ค์ค ๋น๋ฐ์ง๋๋ฅผ ์์ ๋ฃ์๋ค. ๊ทธ๋ฐ๋ฐ ์ด ๋น๋ฐ์ง๋๋ ์ซ์๋ก ์ํธํ๋์ด ์์ด ์์น๋ฅผ ํ์ธํ๊ธฐ ์ํด์๋ ์ํธ๋ฅผ ํด๋ ํด์ผ ํ๋ค. ๋คํํ ์ง๋ ์ํธ๋ฅผ ํด๋ ํ ๋ฐฉ๋ฒ์ ์ ์ด๋์ ๋ฉ๋ชจ๋ ํจ๊ป ๋ฐ๊ฒฌํ๋ค. ์ง๋๋ ํ ๋ณ์ ๊ธธ์ด๊ฐ n์ธ ์ ์ฌ๊ฐํ ๋ฐฐ์ด ํํ๋ก, ๊ฐ ์นธ์ "๊ณต๋ฐฑ"(" ") ๋๋ "๋ฒฝ"("#") ๋ ์ข ๋ฅ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ ์ฒด ์ง๋๋ ๋ ์ฅ์ ์ง๋๋ฅผ ๊ฒน์ณ์ ์ป์ ์ ์๋ค. ๊ฐ๊ฐ "์ง๋ 1"๊ณผ "์ง๋ 2"๋ผ๊ณ ํ์. ์ง๋ 1 ๋๋ ์ง๋ 2 ์ค ์ด๋ ํ๋๋ผ๋ ๋ฒฝ์ธ ๋ถ๋ถ์ ์ ์ฒด ์ง๋์์๋ ๋ฒฝ์ด๋ค. ์ง๋ 1๊ณผ ์ง๋ 2์์ ๋ชจ๋ ๊ณต๋ฐฑ..
-
์์ ๋์งํAlgorithm 2021. 5. 26. 11:08
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ 2017 ํ์ค๋ค์ด > ์์ ๋์งํ์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ โณโณ ๊ฒ์๋ํ๊ฐ ๊ฐ์ต๋์์ต๋๋ค. ์ด ๋ํ๋ N๋ช ์ด ์ฐธ๊ฐํ๊ณ , ํ ๋๋จผํธ ํ์์ผ๋ก ์งํ๋ฉ๋๋ค. N๋ช ์ ์ฐธ๊ฐ์๋ ๊ฐ๊ฐ 1๋ถํฐ N๋ฒ์ ์ฐจ๋ก๋๋ก ๋ฐฐ์ ๋ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ , 1๋ฒ↔2๋ฒ, 3๋ฒ↔4๋ฒ, ... , N-1๋ฒ↔N๋ฒ์ ์ฐธ๊ฐ์๋ผ๋ฆฌ ๊ฒ์์ ์งํํฉ๋๋ค. ๊ฐ ๊ฒ์์์ ์ด๊ธด ์ฌ๋์ ๋ค์ ๋ผ์ด๋์ ์ง์ถํ ์ ์์ต๋๋ค. ์ด๋, ๋ค์ ๋ผ์ด๋์ ์ง์ถํ ์ฐธ๊ฐ์์ ๋ฒํธ๋ ๋ค์ 1๋ฒ๋ถํฐ N/2๋ฒ์ ์ฐจ๋ก๋๋ก ๋ฐฐ์ ๋ฐ์ต๋๋ค. ๋ง์ฝ 1๋ฒ↔2๋ฒ ๋ผ๋ฆฌ ๊ฒจ๋ฃจ๋ ๊ฒ์์์ 2๋ฒ์ด ์น๋ฆฌํ๋ค๋ฉด ๋ค์ ๋ผ์ด๋์์ 1๋ฒ์ ๋ถ์ฌ๋ฐ๊ณ , 3๋ฒ↔4๋ฒ์์ ๊ฒจ๋ฃจ๋ ๊ฒ์์์ 3๋ฒ์ด ์น๋ฆฌํ๋ค๋ฉด ๋ค์ ๋ผ์ด๋์์ 2๋ฒ์ ๋ถ์ฌ๋ฐ๊ฒ ๋ฉ๋๋ค. ๊ฒ์์ ์ต์ข ํ ๋ช ์ด ๋จ์ ๋๊น์ง ์ง..
-
Deep copy & Shallow copySwift 2021. 5. 25. 17:47
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ Deep copy(๊น์ ๋ณต์ฌ)์ Shallow copy(์์ ๋ณต์ฌ)์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ง๐ป๐ป ๋ณธ๊ฒฉ์ ์ผ๋ก ์์๋ณด๊ธฐ์ ! ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๋ฐ์ดํฐ ํ์ ์ ๊ฐ ํน์ ์ฐธ์กฐ ํ์ ์ ๊ฐ์ง๋๊ฑด ์๊ณ ๊ณ์์ฃ ? ๊ฐ๋จํ ๋ ํ์ ์ ๋ํด ์ค๋ช ํด๋ณด์๋ฉด, ๊ฐ ํ์ ์ผ๋ก ์์ฑ๋ ๋ฐ์ดํฐ๋ ๊ฐ๊ฐ ํด๋นํ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฐ๋ก ์์ ํฉ๋๋ค. ์ฐธ์กฐ ํ์ ์ผ๋ก ์์ฑ๋ ์ธ์คํด์ค๋ ์ฃผ์๋ฅผ ๊ณต์ ํ์ฌ ๊ฐ์ ์ฃผ์๋ฅผ ์ฐธ์กฐํ ๊ฐ์ด ๋ฐ๋๋ฉด ๊ฐ์ด ๋ณ๊ฒฝ๋ฉ๋๋ค. ์ด ๋ ์ฐจ์ด๋ฅผ ํตํด ๊น์ ๋ณต์ฌ์ ์์ ๋ณต์ฌ์ ๋ํด ์ด๋จ๋ ์ผ์ด๋๊ณ ์ด๋ป๊ฒ ์ฌ์ฉํ ์ง ์์๋ด ์๋ค๐๐ป Deep copy : ๊น์ ๋ณต์ฌ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋๋ก ๋ณต์ฌํ์ฌ ๋ณต์ฌ๋ ๋ ๋ฐ์ดํฐ ๊ฐ์ฒด๋ ๊ฐ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ์ง๋๋ค. : ์ฃผ๋ก ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ ํ์ ์ ๊ฐ์ฒด๋ค์ ์์ฑํ๋ฉด ๊น์ ๋ณต์ฌ๋ก..
-
์คํจ์จAlgorithm 2021. 5. 24. 10:58
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ 2019 KAKAO BLIND RECRUITMENT > ์คํจ์จ์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ์ํผ ๊ฒ์ ๊ฐ๋ฐ์ ์ค๋ ๋ฆฌ๋ ํฐ ๊ณ ๋ฏผ์ ๋น ์ก๋ค. ๊ทธ๋ ๊ฐ ๋ง๋ ํ๋์ฆ ์ค์ฒ์ฑ์ด ๋์ฑ๊ณต์ ๊ฑฐ๋์ง๋ง, ์์ฆ ์ ๊ท ์ฌ์ฉ์์ ์๊ฐ ๊ธ๊ฐํ ๊ฒ์ด๋ค. ์์ธ์ ์ ๊ท ์ฌ์ฉ์์ ๊ธฐ์กด ์ฌ์ฉ์ ์ฌ์ด์ ์คํ ์ด์ง ์ฐจ์ด๊ฐ ๋๋ฌด ํฐ ๊ฒ์ด ๋ฌธ์ ์๋ค. ์ด ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ํ ๊น ๊ณ ๋ฏผ ํ ๊ทธ๋ ๋ ๋์ ์ผ๋ก ๊ฒ์ ์๊ฐ์ ๋๋ ค์ ๋์ด๋๋ฅผ ์กฐ์ ํ๊ธฐ๋ก ํ๋ค. ์ญ์ ์ํผ ๊ฐ๋ฐ์๋ผ ๋๋ถ๋ถ์ ๋ก์ง์ ์ฝ๊ฒ ๊ตฌํํ์ง๋ง, ์คํจ์จ์ ๊ตฌํ๋ ๋ถ๋ถ์์ ์๊ธฐ์ ๋น ์ง๊ณ ๋ง์๋ค. ์ค๋ ๋ฆฌ๋ฅผ ์ํด ์คํจ์จ์ ๊ตฌํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ผ. ์คํจ์จ์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ๋ค. ์คํ ์ด์ง์ ๋๋ฌํ์ผ๋ ์์ง ํด๋ฆฌ์ดํ์ง ๋ชปํ ํ๋ ์ด์ด์ ์ / ์คํ ์ด์ง์ ๋๋ฌํ ํ๋ ์ด์ด..
-
์ง์ง์ด ์ ๊ฑฐํ๊ธฐAlgorithm 2021. 5. 21. 10:27
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ 2017 ํ์ค๋ค์ด > ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ๋, ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ ๊ฐ์ง๊ณ ์์ํฉ๋๋ค. ๋จผ์ ๋ฌธ์์ด์์ ๊ฐ์ ์ํ๋ฒณ์ด 2๊ฐ ๋ถ์ด ์๋ ์ง์ ์ฐพ์ต๋๋ค. ๊ทธ๋ค์, ๊ทธ ๋์ ์ ๊ฑฐํ ๋ค, ์๋ค๋ก ๋ฌธ์์ด์ ์ด์ด ๋ถ์ ๋๋ค. ์ด ๊ณผ์ ์ ๋ฐ๋ณตํด์ ๋ฌธ์์ด์ ๋ชจ๋ ์ ๊ฑฐํ๋ค๋ฉด ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ๊ฐ ์ข ๋ฃ๋ฉ๋๋ค. ๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ก์ ๋, ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์ํํ ์ ์๋์ง ๋ฐํํ๋ ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์. ์ฑ๊ณต์ ์ผ๋ก ์ํํ ์ ์์ผ๋ฉด 1์, ์๋ ๊ฒฝ์ฐ 0์ ๋ฆฌํดํด์ฃผ๋ฉด ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ฌธ์์ด S = baabaa ๋ผ๋ฉด b aa baa → bb aa → aa → ์ ์์๋ก ๋ฌธ์์ด์ ๋ชจ๋ ์ ๊ฑฐํ ์ ์์ผ๋ฏ๋ก 1์ ๋ฐํํฉ๋๋ค. ์ ํ์ฌ..
-
์ฐ๊ฒฐ ๋ฆฌ์คํธCS(ComputerScience) 2021. 5. 20. 12:02
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๋ํด ์์๋ณด๊ณ Swift๋ก ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค๐ง๐ป๐ป ์ฐ๊ฒฐ๋ฆฌ์คํธ : ์ด์ / ๋ค์์ ์ฌ ๊ฐ์ ์ฐธ์กฐ ์ ๋ณด ๊ฐ์ง๋ ๋ฐฐ์ด์ ํํ - ๋ฌผ๋ฆฌ์ ์์๊ฐ ์์ฐจ์ ์ด์ง ์์ - ํ๋ฒ์ ์ฐพ๋ ๋ฐ์ดํฐ์ ์ ๊ทผ ๋ถ๊ฐ - ๋ฐ์ดํฐ ์ฝ์ ๋ฐ ์ญ์ ์ ์ด๋ ์์ด ์ฐธ์กฐ ๊ฐ ๋ณ๊ฒฝ๋ง ํด์ฃผ๋ฉด๋์ ๋ฐฐ์ด๋ณด๋ค ์ฌ์ (์๋๊ฐ ๋น ๋ฆ) - ๋ ธ๋์ ๋ฐ์ดํฐ๋ก ๊ตฌ์ฑ - ๋ ธ๋์๋ ๋ค์ ์ฃผ์๋ฅผ ๋ํ๋ด๋ ํฌ์ธํฐ๋ฅผ ์ง๋ - ๊ฒ์ ์๋๊ฐ ๋๋ฆฌ๊ณ ์ ์ฅ ๊ณต๊ฐ ํจ์จ์ฑ์ด ๋จ์ด์ง Swift๋ก ๋จ๋ฐฉํฅ ์ฐ๊ฒฐ ๋ฆฌ์คํธ ๊ตฌํํ๊ธฐ import Foundation // ๋ ธ๋ ์ ์, Node์ ๊ฐ์ธ value์ ๋ค์ ๋ ธ๋์ ์ฃผ์๋ฅผ ๊ฐ์ง next class Node { var data: T? var next: Node? init(data..
-
ํผ๋ณด๋์น ์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๋ฒ์งธ๋ถํฐ..