์ ์ฒด ๊ธ
-
๋ ๋ฐ๋จน๊ธฐAlgorithm 2021. 6. 4. 13:09
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ๋ ๋ฐ๋จน๊ธฐ์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ๋ ๋ฐ๋จน๊ธฐ ๊ฒ์์ ํ๋ ค๊ณ ํฉ๋๋ค. ๋ ๋ฐ๋จน๊ธฐ ๊ฒ์์ ๋ (land)์ ์ด Nํ 4์ด๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๋ชจ๋ ์นธ์๋ ์ ์๊ฐ ์ฐ์ฌ ์์ต๋๋ค. 1ํ๋ถํฐ ๋ ์ ๋ฐ์ผ๋ฉฐ ํ ํ์ฉ ๋ด๋ ค์ฌ ๋, ๊ฐ ํ์ 4์นธ ์ค ํ ์นธ๋ง ๋ฐ์ผ๋ฉด์ ๋ด๋ ค์์ผ ํฉ๋๋ค. ๋จ, ๋ ๋ฐ๋จน๊ธฐ ๊ฒ์์๋ ํ ํ์ฉ ๋ด๋ ค์ฌ ๋, ๊ฐ์ ์ด์ ์ฐ์ํด์ ๋ฐ์ ์ ์๋ ํน์ ๊ท์น์ด ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด, | 1 | 2 | 3 | 5 | | 5 | 6 | 7 | 8 | | 4 | 3 | 2 | 1 | ๋ก ๋ ์ด ์ฃผ์ด์ก๋ค๋ฉด, 1ํ์์ ๋ค๋ฒ์งธ ์นธ (5)๋ฅผ ๋ฐ์์ผ๋ฉด, 2ํ์ ๋ค๋ฒ์งธ ์นธ (8)์ ๋ฐ์ ์ ์์ต๋๋ค. ๋ง์ง๋ง ํ๊น์ง ๋ชจ๋ ๋ด๋ ค์์ ๋, ์ป์ ์ ์๋ ์ ์์ ์ต๋๊ฐ์ returnํ๋ solu..
-
์ผ๊ฐ ๋ฌํฝ์ดAlgorithm 2021. 6. 3. 20:15
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ์๊ฐ ์ฝ๋ ์ฑ๋ฆฐ์ง ์์ฆ1 > ์ผ๊ฐ ๋ฌํฝ์ด์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ์ ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ๋ค์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ฐ๋ณ์ ๊ธธ์ด์ ๋์ด๊ฐ n์ธ ์ผ๊ฐํ์์ ๋งจ ์ ๊ผญ์ง์ ๋ถํฐ ๋ฐ์๊ณ ๋ฐฉํฅ์ผ๋ก ๋ฌํฝ์ด ์ฑ์ฐ๊ธฐ๋ฅผ ์งํํ ํ, ์ฒซ ํ๋ถํฐ ๋ง์ง๋ง ํ๊น์ง ๋ชจ๋ ์์๋๋ก ํฉ์น ์๋ก์ด ๋ฐฐ์ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ n์ 1 ์ด์ 1,000 ์ดํ์ ๋๋ค. ์ ์ถ๋ ฅ ์ 4 [1,2,9,3,10,8,4,5,6,7] 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] ๋ฌธ์ ํด๊ฒฐ import Foundation enum Mov..
-
ํจํด๋งค์นญAlgorithm 2021. 6. 2. 10:48
๋ฌธ์ ์ ์ ์ธ์๋ก ๋ฌธ์์ด 2๊ฐ๊ฐ ์ ๋ฌ๋๋ค. ํ๋๋ ํจํด์ ๋ํ๋ด๋ ๋ฌธ์์ด์ด๊ณ ํ๋๋ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ๋ฌธ์์ด์ด๋ค. ๋ฐ์ดํฐ๋ฅผ ๋ด์ ๋ฌธ์์ด์ด ํจํด๊ณผ ์ผ์นํ๋์ง๋ฅผ ํ๋ณํ๋ ๋ฉ์๋๋ฅผ ๋ง๋์์ค. ์์ func solution(_ pattern: String, _ data: String) -> Bool { ... } solution("abbaa", "dog cat cat dog dog") // true solution("xyxy", "one two two one") // false solution("cbac", "dog cat bird dog") // true ๋ฌธ์ ํด๊ฒฐ func solution(_ pattern:String, _ target: String) -> Bool { // ํจํด๊ณผ ๋ฐ์ดํฐ๋ฅผ ๋ฌธ์์ด๋ก ๋ณํ let..
-
Run LoopiOS 2021. 6. 1. 19:17
์๋ ํ์ญ๋๊น. ๊ทธ๋ฆฐ์ ๋๋ค๐ข์ด๋ฒ ํฌ์คํ ์์๋ Run Loop(๋ฐ๋ฃจํ)์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ง๐ป๐ป ๋ฐ๋ฃจํ.. ์ด๋์ ๋ง์ด ๋ณด๊ณ ๋ฐ๋ฃจํ์ ์ด๋ฒคํธ ์ฒ๋ฆฌ ๊ทธ๋ฆผ๋ ๋ดค์๋๋ฐ ๋ง์ ์๊ฐํด๋ณด๋ ์ ๋๋ก ์ดํดํ๊ณ ์์ง ์๋๋ผ๊ตฌ์.๊ทธ๋์ ์ด๋ฒ ๊ธฐํ์ ํ๋ฒ ํํด์ณ๋ณด๊ฒ ์ต๋๋ค!Run Loop : ์์ ์ค์ผ์ฅด๋ง๊ณผ ์ ๋ฌ๋ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ๋ ์ด๋ฒคํธ ์ฒ๋ฆฌ ๋ฃจํ : ๋ฐ๋ฃจํ๋ ์ ์ ๊ฐ ์ด๋ฒคํธ๋ฅผ ์ผ์ผํค๊ณ ๊ทธ ์ด๋ฒคํธ๋ค์ ์ฒ๋ฆฌํ๋ ํ๋ก์ธ์ค : ๋ํ์ ์ผ๋ก UIApplication์ด ๋ฉ์ธ ๋ฐ๋ฃจํ๋ฅผ ๋ทฐ์ ์ด๋ฒคํธ ๋ฐ ์ ๋ฐ์ดํธ๋ฅผ ์ฒ๋ฆฌํด์ค ๋ ํ์ฉ : ๋ฉ์ธ ๋ฐ๋ฃจํ๋ ๋ทฐ์ ๊ด๋ จ ์๊ธฐ๋๋ฌธ์ ๋ทฐํ๋ฉด ์ด๋๋ค..!? ๋ฉ์ธ ์ค๋ ๋์์ ๋์ : ๋ฐ๋ฃจํ์ ๋ชฉ์ ์ ์ค๋ ๋์ ์์ ์ด ์์ผ๋ฉด ํ๊ฒํ๊ณ ์์ผ๋ฉด ์ฌ๋๋ก ํ๋๊ฒ์์ ๋์ด ์๋๋ ๋ฉ์ธ ์ค๋ ๋์ ๋ฐ๋ฃจํ ๊ณผ์ ๋์..
-
์ฌ๋ฐ๋ฅธ ๊ดํธAlgorithm 2021. 5. 31. 16:09
์๋ ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๊ณตํ๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ ๋ฌธ์ ์ ๋๋ค๐ง๐ป๐ป ๋ฌธ์ ์ ์ ๊ดํธ๊ฐ ๋ฐ๋ฅด๊ฒ ์ง์ง์ด์ก๋ค๋ ๊ฒ์ '(' ๋ฌธ์๋ก ์ด๋ ธ์ผ๋ฉด ๋ฐ๋์ ์ง์ง์ด์ ')' ๋ฌธ์๋ก ๋ซํ์ผ ํ๋ค๋ ๋ป์ ๋๋ค. ์๋ฅผ ๋ค์ด "()()" ๋๋ "(())()" ๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ ๋๋ค. ")()(" ๋๋ "(()(" ๋ ์ฌ๋ฐ๋ฅด์ง ์์ ๊ดํธ์ ๋๋ค. '(' ๋๋ ')' ๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฌธ์์ด s๊ฐ ์ฃผ์ด์ก์ ๋, ๋ฌธ์์ด s๊ฐ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ด๋ฉด true๋ฅผ return ํ๊ณ , ์ฌ๋ฐ๋ฅด์ง ์์ ๊ดํธ์ด๋ฉด false๋ฅผ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์. ์ ํ์ฌํญ ๋ฌธ์์ด s์ ๊ธธ์ด : 100,000 ์ดํ์ ์์ฐ์ ๋ฌธ์์ด s๋ '(' ๋๋ ')' ๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ๋ฌธ์ ํด๊ฒฐ import Foundation func soluti..
-
์ง์ ๋ณํ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๋ฒ์ ๋ถ์ฌ๋ฐ๊ฒ ๋ฉ๋๋ค. ๊ฒ์์ ์ต์ข ํ ๋ช ์ด ๋จ์ ๋๊น์ง ์ง..