๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ381 [ํ๋ก๊ทธ๋๋จธ์ค LV.1] ์์ ์ฐพ๊ธฐ ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๋ชจ์ ์์ ์ฐพ๊ธฐ ๋ฌธ์ ์ค๋ช 1๋ถํฐ ์ ๋ ฅ๋ฐ์ ์ซ์ n ์ฌ์ด์ ์๋ ์์์ ๊ฐ์๋ฅผ ๋ฐํํ๋ ํจ์, solution์ ๋ง๋ค์ด ๋ณด์ธ์. ์์๋ 1๊ณผ ์๊ธฐ ์์ ์ผ๋ก๋ง ๋๋์ด์ง๋ ์๋ฅผ ์๋ฏธํฉ๋๋ค. (1์ ์์๊ฐ ์๋๋๋ค.) ์ ํ ์ฌํญ n์ 2 ์ด์ 1000000 ์ดํ์ ์์ฐ์์ ๋๋ค. ์ ์ถ๋ ฅ ์ n result 10 4 5 3 ์ ์ถ๋ ฅ ์ ์ค๋ช ์ ์ถ๋ ฅ ์ #1 1๋ถํฐ 10 ์ฌ์ด์ ์์๋ [2,3,5,7] 4๊ฐ๊ฐ ์กด์ฌํ๋ฏ๋ก 4๋ฅผ ๋ฐํ ์ ์ถ๋ ฅ ์ #2 1๋ถํฐ 5 ์ฌ์ด์ ์์๋ [2,3,5] 3๊ฐ๊ฐ ์กด์ฌํ๋ฏ๋ก 3์ ๋ฐํ ์ ์ถ import Foundation func solution(_ n:Int) -> Int { var isPrime = true var count = 0 for i in 2...n { .. 2023. 2. 7. [Swift] ๊ณ ์ฐจํจ์ ๊ณ ์ฐจํจ์ ๊ณ ์ฐจํจ์๋ ๋ค๋ฅธ ํจ์๋ฅผ ์ ๋ฌ์ธ์๋ก ๋ฐ๊ฑฐ๋ ํจ์์คํ์ ๊ฒฐ๊ณผ๋ฅผ ํจ์๋ก ๋ฐํํ๋ ํจ์ swift์ ํจ์(ํด๋ก์ )๋ ์ผ๊ธ์๋ฏผ์ด๊ธฐ ๋๋ฌธ์ ํจ์์ ์ ๋ฌ์ธ์๋ก ์ ๋ฌํ ์ ์์ผ๋ฉฐ, ํจ์์ ๊ฒฐ๊ด๊ฐ์ผ๋ก ๋ฐํํ ์ ์์ ์ผ๊ธ๊ฐ์ฒด (First Class Citizen) ๊ฐ์ฒด๊ฐ ๋ฐํ์์๋ ์์ฑ ๊ฐ๋ฅํ๋ค. ๊ฐ์ฒด๋ฅผ ์ธ์ ๊ฐ์ผ๋ก ์ ๋ฌํ ์ ์์ด์ผ ํ๋ค. ๊ฐ์ฒด๋ฅผ ๋ฐํ ๊ฐ์ผ๋ก ์ฌ์ฉํ ์ ์์ด์ผ ํ๋ค. ๋ฐ์ดํฐ ๊ตฌ์กฐ ์์ ์ ์ฅํ ์ ์์ด์ผ ํ๋ค. map ๊ธฐ์กด์ ์ปจํ ์ด๋์ ์์์ ๋ํด ์ ์ํ ํด๋ก์ ๋ก ๋งคํํ ๊ฒฐ๊ณผ๋ฅผ ์๋ก์ด ์ปจํ ์ด๋๋ก ๋ฐํ //For๋ฌธ ์ฌ์ฉ let numArray = [1,2, 3, 4, 5, 6, 7, 8, 9] var multiplyArray = [Int]() for num in numArray{ multiplyA.. 2023. 2. 6. [Swift] ํด๋ก์ (Closure) ํด๋ก์ (Closure) ์ฌ์ฉ์์ ์ฝ๋ ์์์ ์ ๋ฌ๋์ด ์ฌ์ฉํ ์ ์๋ ๋ก์ง์ ๊ฐ์ง ์ค๊ดํธ"{}" ๊ตฌ๋ถ๋ ์ฝ๋์ ๋ธ๋ก ์ด๋ฆ์ด ์๋ ํจ์ ํด๋ก์ ๋ ์ด๋ ํ ์์๋ ๋ณ์์ ์ฐธ์กฐ๋ฅผ ์บก์ฒ(capture)ํด์ ์ ์ฅ ๊ฐ๋ฅ Swift๋ ์ด ์บก์ฒ์ ๊ด๋ จํ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์์ ์ฒ๋ฆฌ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฐ์ ์ ์๊ณ , ๋ฐํ ๊ฐ์ด ์กด์ฌํ ์ ์๋ค๋ ์ ์์ ํจ์์ ๋์ผ Swift ํด๋ก์ ๋ ์ต์ ํ๋ฅผ ํตํด ๊น๋ํ๊ณ ๋ช ํํ ์คํ์ผ์ ๊ฐ์ง๊ณ ์์ ๋ฌธ๋งฅ(context)์์ ์ธ์ ํ์ ๊ณผ ๋ฐํ ํ์ ์ ์ถ๋ก ๋จ์ผ ํํ์ ํด๋ก์ ์ ์์์ ๋ฐํ ์ถ์ฝ๋ ์ธ์ ์ด๋ฆ ํ์ ํด๋ก์ ๋ฌธ๋ฒ { (๋งค๊ฐ๋ณ์ ์ด๋ฆ : ๋งค๊ฐ๋ณ์ ํ์ ) -> ๋ฐํํ์ in ํด๋ก์ ํํ์ ์ฝ๋ } ํํ ํด๋ก์ (trailing closure) ํด๋ก์ ๊ฐ ํจ์์ ๋ง์ง๋ง argument๋ผ๋ฉด, .. 2023. 2. 6. [Swift] ์ต์คํ ์ (Extensions) ์ต์คํ ์ (Extensions) ์ต์คํ ์ ์ ์ด์ฉํด ํด๋์ค, ๊ตฌ์กฐ์ฒด, ์ด๊ฑฐํ ํน์ ํ๋กํ ์ฝ ํ์ ์ ๊ธฐ๋ฅ์ ์ถ๊ฐ ๊ฐ๋ฅ ์ต์คํ ์ ์ ํ์ ์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์ ์์ง๋ง, ์ค๋ฒ๋ผ์ด๋๋ ํ ์ ์์ ๊ณ์ฐ๋ ์ธ์คํด์ค ์์ฑ ๋ฐ ๊ณ์ฐ ์ ํ ์์ฑ ์ถ๊ฐ ์ธ์คํด์ค ๋ฉ์๋ ๋ฐ ํ์ ๋ฉ์๋ ์ ์ ์ ์ด๋์ ๋ผ์ด์ ์ ๊ณต Subscript ์ ์ ์ ์ค์ฒฉ ํ์ ์ ์ ๋ฐ ์ฌ์ฉ ๊ธฐ์กด ํ์ ์ ํ๋กํ ์ฝ์ ๋ง๊ฒ ์ค์ extension Int { var add: Int { return self + 100 } var sub: Int { return self - 10 } var mul: Int { return self * 10 } var div: Int { return self / 5 } } let addition = 3.add print("Ad.. 2023. 2. 6. [Swift] ํ๋กํ ์ฝ (Protocol) ํ๋กํ ์ฝ (Protocol) ํน์ ์์ ์ด๋ ๊ธฐ๋ฅ์ ์ ํฉํ ๋ฉ์๋, ํ๋กํผํฐ ๋ฐ ๊ธฐํ ์๊ตฌ์ฌํญ์ ‘์ฝ์’์ ์ ์ ํด๋์ค(class), ๊ตฌ์กฐ์ฒด(struct), ์ด๊ฑฐํ(enum)์์๋ ์ด๋ ํ ํ๋กํ ์ฝ์ ์ฑํํ์ฌ ํด๋น ํ๋กํ ์ฝ์ ์๊ตฌ์ฌํญ์ ์ค์ ๋ก ๊ตฌํ ๊ฐ๋ฅ ํ๋กํ ์ฝ์ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑ์ํค๋ ๋ชจ๋ ํ์ ์ ํด๋น ํ๋กํ ์ฝ์ ์ค์ํ๋ค ํน์ ๋ฐ๋ฅธ๋ค๊ณ ํจ ํ๋กํ ์ฝ์ ์ฑ์ฉํ ํ์์ ์๊ตฌ์ฌํญ์ ๋ฐ๋์ ๋ชจ๋ ๊ตฌํํด์ผ ํจ ํ๋กํ ์ฝ์ ํ๋กํ ์ฝ ๊ฐ ์์์ ์ง์ํ๋ฉฐ, ํด๋์ค์ ๋ฌ๋ฆฌ ๋ค์ค ์์๋ ์ง์ ํ๋กํ ์ฝ ์ฑํํ๊ธฐ ํด๋์ค, ๊ตฌ์กฐ์ฒด, ์ด๊ฑฐํ์์ ์ ์ํ ํ๋กํ ์ฝ์ ์ฑํํ๊ธฐ ์ํด์๋ ์ฝ๋ก (:)์ ์ฌ์ฉ ํ๋์ ํ์ ์์ ๋ค์์ ํ๋กํ ์ฝ์ ์ฑํํ๊ธฐ ์ํด์๋ ์ฝค๋ง(,)๋ฅผ ์ฌ์ฉ ํด๋์ค์์ ์์๊ณผ ํ๋กํ ์ฝ ์ฑํ์ ๋์์ ํ๋ ค๋ฉด ์์๋ฐ์ผ๋ ค๋ ํด๋์ค๋ฅผ .. 2023. 2. 6. [Swift] assert์ guard assert ํน์ ์กฐ๊ฑด์ ์ฒดํฌํ๊ณ , ์กฐ๊ฑด์ด ์ฑ๋ฆฝ๋์ง ์์ผ๋ฉด ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๊ฒ ํ ์ ์๋ ํจ์ assert ํจ์๋ ๋๋ฒ๊น ๋ชจ๋์์๋ง ๋์ํ๊ณ ์ฃผ๋ก ๋๋ฒ๊น ์ค ์กฐ๊ฑด์ ๊ฒ์ฆ์ ์ํ์ฌ ์ฌ์ฉ var value = 0 assert(value == 0) value = 2 assert(value == 0, "๊ฐ์ด 0์ด ์๋๋๋ค.") ์ฒซ ๋ฒ์งธ assert๋ ์ฐธ์ด๊ธฐ ๋๋ฌธ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์ ๋ ๋ฒ์งธ assert๋ ๊ฑฐ์ง์ด๊ธฐ ๋๋ฌธ์ ๋ฐํ์์๋ฌ๊ฐ ๋ฐ์ Assertion failed: ๊ฐ์ด 0์ด ์๋๋๋ค. guard ๋ฌธ ์กฐ๊ฑด์ ๊ฒ์ฌํ์ฌ ๊ทธ๋ค์์ ์ค๋ ์ฝ๋๋ฅผ ์คํํ ์ง ๋ง์ง ๊ฒฐ์ ํ๋ ๊ตฌ๋ฌธ guard์ ์ฌ์ฉํ์ฌ ์กฐ๊ฑด์ด ์ฑ๋ฆฝํ์ง ์์ ์ ํน์ ์คํ ๊ตฌ๋ฌธ์ ๋น ๋ฅด๊ฒ ์ข ๋ฃ guard์ else ๋ธ๋ก ๋ด๋ถ์๋ ํน์ ์ฝ๋ ๋ธ๋ก์ ์ข ๋ฃํ๋ .. 2023. 2. 6. ์ด์ 1 ยทยทยท 33 34 35 36 37 38 39 ยทยทยท 64 ๋ค์ ๋ฐ์ํ