๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ381 [Swift] ํ์ ์บ์คํ ํ์ ์บ์คํ (Type Casting) ์ธ์คํด์ค์ "ํ์ "์ ํ์ธํ๊ฑฐ๋, ํด๋น ์ธ์คํด์ค๋ฅผ ์ํผ ํด๋์ค๋ ํ์ ํด๋์ค๋ก ์ทจ๊ธํ๋ ๋ฐฉ๋ฒ Swift์์ ํ์ ์บ์คํ ์ "is"๋ "as" ์ฐ์ฐ์๋ก ๊ตฌํ ํ์ ์บ์คํ ์ ์ฌ์ฉํ์ฌ ํ์ ์ด ํ๋กํ ์ฝ์ ์ ํฉํ์ง ์ฌ๋ถ๋ ํ์ธ ๊ฐ๋ฅ is ํ์ ์ ์ฒดํฌํ๋ ์ฐ์ฐ์ ๋ฐํ์ ์์ ์ ์ค์ ์ฒดํฌ๊ฐ ์ด๋ฃจ์ด์ง ๋ฐํ ๊ฐ์ Bool ํ ํํ์์ด Type๊ณผ ๋์ผํ๊ฑฐ๋, ํํ์์ด Type์ ์๋ธํด๋์ค์ธ ๊ฒฝ์ฐ True๋ฅผ ๋ฐํ ์ด ์ธ์๋ False ๋ฐํ //1 let char: Character = "A" char is Character // true char is String // false //2 class Animal { } class Dog: Animal { } let dog: Dog = ... 2023. 2. 6. [Swift] ํด๋์ค(Class)์ ๊ตฌ์กฐ์ฒด(Struct) ํด๋์ค(Class) ํด๋์ค๋ฅผ ์ ์ํ์ฌ ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ณ ์ฌ์ฉ ๊ฐ๋ฅ ํด๋์ค๋ฅผ ๋ง๋ค์ด ํด๋์ค์์ ์์ฑ๋ ๊ฐ์ฒด์ธ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด ์ฌ์ฉ ํด๋์ค ์์ ๋ณ์ ํ๋กํผํฐ(Property)์ ํด๋์ค ์์ ํจ์ ๋ฉ์๋(Method)๋ก ๊ตฌ์ฑ class Name { var name = "Hyebin" //ํ๋กํผํฐ //๋ฉ์๋ func my_name() { print("my name is \(name)") } } //์ธ์คํด์ค ์์ฑ let hyebin : Name = Name() print(hyebin.name)// Hyebin hyebin.my_name()// my name is Hyebin hyebin.name = "yoo" hyebin.my_name()// my name is yoo ํด๋์ค ์ด๊ธฐํ (Initialization).. 2023. 2. 6. [Swift] ์ต์ ๋ (Optional) ์ต์ ๋(Optional) ๊ฐ์ด ์์ ์๋ ์๊ณ ์์ ์๋ ์๋ ๋ณ์ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ๋ฅผ ๋ํ๋ผ ๋์๋ nil์ ์ฌ์ฉ ๋ณ์ ์ ์ํ ๋ ํ์ ์ด๋ ธํ ์ด์ ์ ๋ฌผ์ํ(?)๋ฅผ ๋ถ์ฌ ์ ์ Optional(value) ํํ๋ก ์ถ๋ ฅ ์ต์ ๋์ ์ด๊น๊ฐ์ ์ง์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ์ nil var name: String? print(name) //nil name = "hyebin" print(name) //Optional("hyebin") ์ต์ ๋๋ก ์ ์ํ ๋ณ์๋ ์ต์ ๋์ด ์๋ ๋ณ์์๋ ๋ค๋ฆ var optional_name: String? = "hyebin" let name: String = optional_name Value of optional type 'String?' must be unwrapped to a value of .. 2023. 2. 6. [ํ๋ก๊ทธ๋๋จธ์ค LV.1] ์์ธ์์ ๊น์๋ฐฉ ์ฐพ๊ธฐ ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๋ชจ์ ์์ธ์์ ๊น์๋ฐฉ ์ฐพ๊ธฐ ๋ฌธ์ ์ค๋ช Stringํ ๋ฐฐ์ด seoul์ element์ค "Kim"์ ์์น x๋ฅผ ์ฐพ์, "๊น์๋ฐฉ์ x์ ์๋ค"๋ String์ ๋ฐํํ๋ ํจ์, solution์ ์์ฑํ์ธ์. seoul์ "Kim"์ ์ค์ง ํ ๋ฒ๋ง ๋ํ๋๋ฉฐ ์๋ชป๋ ๊ฐ์ด ์ ๋ ฅ๋๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค. ์ ํ ์ฌํญ seoul์ ๊ธธ์ด 1 ์ด์, 1000 ์ดํ์ธ ๋ฐฐ์ด์ ๋๋ค. seoul์ ์์๋ ๊ธธ์ด 1 ์ด์, 20 ์ดํ์ธ ๋ฌธ์์ด์ ๋๋ค. "Kim"์ ๋ฐ๋์ seoul ์์ ํฌํจ๋์ด ์์ต๋๋ค. ์ ์ถ๋ ฅ ์ seoul return ["Jane", "Kim"] "๊น์๋ฐฉ์ 1์ ์๋ค" ์ ์ถ func solution(_ seoul:[String]) -> String { return "๊น์๋ฐฉ์ \(seoul.firs.. 2023. 2. 6. [ํ๋ก๊ทธ๋๋จธ์ค LV.1] ๋ฌธ์์ด ๋ค๋ฃจ๊ธฐ ๊ธฐ๋ณธ ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๋ชจ์ ๋ฌธ์์ด ๋ค๋ฃจ๊ธฐ ๊ธฐ๋ณธ ๋ฌธ์ ์ค๋ช ๋ฌธ์์ด s์ ๊ธธ์ด๊ฐ 4 ํน์ 6์ด๊ณ , ์ซ์๋ก๋ง ๊ตฌ์ฑ๋ผ ์๋์ง ํ์ธํด ์ฃผ๋ ํจ์, solution์ ์์ฑํ์ธ์. ์๋ฅผ ๋ค์ด s๊ฐ "a234"์ด๋ฉด False๋ฅผ ๋ฆฌํดํ๊ณ "1234"๋ผ๋ฉด True๋ฅผ ๋ฆฌํดํ๋ฉด ๋ฉ๋๋ค. ์ ํ ์ฌํญ s๋ ๊ธธ์ด 1 ์ด์, ๊ธธ์ด 8 ์ดํ์ธ ๋ฌธ์์ด์ ๋๋ค. s๋ ์๋ฌธ ์ํ๋ฒณ ๋์๋ฌธ์ ๋๋ 0๋ถํฐ 9๊น์ง ์ซ์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ์ ์ถ๋ ฅ ์ s return "a234" false "1234" true ์ ์ถ func solution(_ s:String) -> Bool { return ((s.count == 4 || s.count == 6) && (s.filter{$0.isLetter}.count == 0)) ? true : false }.. 2023. 2. 6. [ํ๋ก๊ทธ๋๋จธ์ค LV.1] ๋ฌธ์์ด ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๋ชจ์ ๋ฌธ์์ด ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ ๋ฌธ์ ์ค๋ช ๋ฌธ์์ด s์ ๋ํ๋๋ ๋ฌธ์๋ฅผ ํฐ๊ฒ๋ถํฐ ์์ ์์ผ๋ก ์ ๋ ฌํด ์๋ก์ด ๋ฌธ์์ด์ ๋ฆฌํดํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์. s๋ ์๋ฌธ ๋์๋ฌธ์๋ก๋ง ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ๋๋ฌธ์๋ ์๋ฌธ์๋ณด๋ค ์์ ๊ฒ์ผ๋ก ๊ฐ์ฃผํฉ๋๋ค. ์ ํ ์ฌํญ str์ ๊ธธ์ด 1 ์ด์์ธ ๋ฌธ์์ด์ ๋๋ค. ์ ์ถ๋ ฅ ์ s return "Zbcdefg" "gfedcbZ" ์ ์ถ func solution(_ s:String) -> String { return String(s.sorted { $0 > $1 }) } 2023. 2. 6. ์ด์ 1 ยทยทยท 34 35 36 37 38 39 40 ยทยทยท 64 ๋ค์ ๋ฐ์ํ