๋ชฉ๋กiOS [Swift] (55)

Focus On Develop ๐ŸคŸ๐ŸคŸ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆซ์ž ๋ฐฐ์—ด

์ด๋ฒˆ์—๋Š” ๋˜ ํ›„ํšŒํ•˜์ง€ ๋ง๊ณ  filter๋ฅผ ์ ๊ทน ํ™œ์šฉํ•ด์•ผ๊ฒ ๋‹ค!! (๋‚œ์ด๋„ ๋งค์šฐ ์‰ฌ์šด ๋ฌธ์ œ๋ฅผ ๋ณด๋‹ˆ ๋ฐ”๋กœ ๋– ์˜ค๋ฅด๋Š”๊ตฐ ใ…‹ใ…‹ ๐Ÿ‘๐Ÿ‘) returnํ•˜๋Š” ๋ฐฐ์—ด์ด ์ •๋ ฌ๋˜์–ด์•ผ ํ•˜๋Š”๋ฐ, ์ •๋ ฌ ์‹œ์ ์€ filter๋ฅผ ํ•˜๊ธฐ ์ „/ํ›„ ๋ฌด๊ด€ํ•  ๋“ฏ ํ•˜๋‹ค. func solution(_ arr:[Int], _ divisor:Int) -> [Int] { let divided = arr.filter { $0 % divisor == 0 }.sorted() return divided.count != 0 ? divided : [-1] } ์•„๋งˆ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ œ ํ’€๊ธฐ ์‹œ์ž‘ํ•œ ์ดํ›„๋กœ ์ œ์ผ ๋‹จ์‹œ๊ฐ„์— ํ’€์€ ๋ฌธ์ œ์ธ๋“ฏ..!? ใ…‹ใ…‹ ๋„ˆ๋ฌด ์‰ฌ์šด๊ฑฐ ์ฐพ์•„ํ‘ธ๋Š” ๋Š๋‚Œ์ด๋ผ ์˜ค๋Š˜์€ ๋ช‡๊ฐœ ๋” ํ’€์–ด์•ผ๊ฒ ๋‹ค ๐Ÿ˜‚ ๐Ÿ˜‚ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์‚ฌ์šฉ๋œ filter๊ฐ€ ๊ถ๊ธˆํ•˜๋‹ค๋ฉด?? ๐Ÿ‘‰ 2020/12..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฌธ์ž์—ด ๋‚ด ๋งˆ์Œ๋Œ€๋กœ ์ •๋ ฌํ•˜๊ธฐ

string์„ ๋‹ด๊ณ  ์žˆ๋Š” ๋ฐฐ์—ด์ด ์ฃผ์–ด์ง€๊ณ , ๊ฐ ์š”์†Œ์˜ ํŠน์ • ์ธ๋ฑ์Šค์— ์žˆ๋Š” ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•˜๋˜, ๊ทธ ๊ฐ’์ด ๋™์ผํ•˜๋ฉด ์‚ฌ์ „์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๋‹ค. ๊ทธ๋ž˜์„œ ๊ณ ๋ฏผํ•ด๋ดค๋Š”๋ฐ.. ํŠน์ • ์ธ๋ฑ์Šค์— ์žˆ๋Š” ๊ฐ’์œผ๋กœ ์ •๋ ฌ์„ ํ•˜๊ณ  ๋‚˜์„œ ์„ž์ธ ๊ฑธ ์–ด๋–ป๊ฒŒ ์•ŒํŒŒ๋ฒณ ์ˆœ์œผ๋กœ ๋งž์ถ”์ง€!? ๊ทธ ๊ธฐ์ค€๊ฐ’์— ๋Œ€ํ•ด ๊ทธ๋ฃจํ•‘์ด ๋˜์–ด์žˆ์–ด์•ผ ํ•˜๋‚˜!? ํ•˜๋ฉด์„œ Dictionary๋กœ ํ’€์–ด์•ผ ํ• ๊นŒ ์‹ถ์—ˆ๋Š”๋ฐ.. ๊ณฐ๊ณฐํžˆ ๋ณด๋‹ค๋ณด๋‹ˆ ใ…‹ใ…‹ ์ด๊ฒŒ ์ˆœ์„œ๋งŒ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋˜์ž–์•„? ๋จผ์ € ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ๋กœ ์ •๋ ฌํ•œ ๋’ค์—, ํŠน์ • ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•ด๋„ ๊ธฐ๋ณธ ๋ฒ ์ด์Šค ์ˆœ์„œ๋Š” ์œ ์ง€๋˜๊ฒ ๊ตฐ!? ใ…‹ใ…‹ func solution(_ strings:[String], _ n:Int) -> [String] { let sorted = strings.sorted() return sorted.sorted { $0[$..

[Swift] String Radix๋ฅผ ํ†ตํ•œ ์ง„๋ฒ•๋ณ€ํ™˜

์ƒ์„ธ๋‚ด์šฉ : radix | Apple Document ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค๊ฐ€, ๋‹ค๋ฅธ์‚ฌ๋žŒ์˜ ํ’€์ด๋ฅผ ๋ณด๊ณ  ๊ฐํƒ„ํ•˜๊ณ  ๋ฐ”๋กœ ์ •๋ฆฌ๋ฅผ ํ•˜๋Ÿฌ ์™”๋‹ค ใ…‹ใ…‹ ๋ˆ„๊ตฐ์ง€๋Š” ๋ชจ๋ฅด์ง€๋งŒ ๊ทธ๋ถ„๊ป˜ ๊ฐ์‚ฌ ๐Ÿ‘๐Ÿ‘ ์•”ํŠผ ์š”์ง€๋Š” ์ˆซ์ž๋“  ์ˆซ์žํ˜•ํƒœ์˜ ๋ฌธ์ž๋“  String ์œผ๋กœ ํ˜•๋ณ€ํ™˜์‹œ ์ง„๋ฒ•ํ‘œ๊ธฐ๋ฅผ ๋งค์šฐ๋งค์šฐ ์‰ฝ๊ฒŒ ๋„์™€์ฃผ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ์ง„๋ฒ•ํ‘œ๊ธฐ ๋ณ€ํ˜•์„ ์›ํ•˜๋Š” ์ˆซ์ž๋‚˜ ์ˆซ์žํ˜•ํƒœ์˜ ๋ฌธ์ž / ๋ช‡์ง„๋ฒ•์œผ๋กœ ํ‘œ๊ธฐํ• ์ง€๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋„ฃ์œผ๋ฉด.. ๋š๋”ฑ ๋ณ€ํ˜•ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ๋‚˜์ค‘์—๋ผ๋„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ง„๋ฒ• ๋ฌธ์ œ ํ‘ธ๋Š”๋ฐ Swift๋กœ ๋ฌธ์ œ ํ‘ผ๋‹ค๋ฉด ๋งค์šฐ ๋„์›€์ด ๋  ๊ฒƒ ๊ฐ™๋‹ค. (๋‹ค๋ฅธ ์–ธ์–ด๋„ ์ด๋Ÿฐ๊ธฐ๋Šฅ ์žˆ์œผ๋ ค๋‚˜..!? ๋œจ๋” ใ…‹ใ…‹) let flipToThree = String(45, radix: 3) // 45๋ฅผ 3์ง„๋ฒ•์œผ๋กœ ํ‘œ๊ธฐ -> "1200" let flipToTen = Int(String(f..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] 3์ง„๋ฒ• ๋’ค์ง‘๊ธฐ

์ด๋ฒˆ ๋ฌธ์ œ๋Š” ์ž…์ถœ๋ ฅ ์˜ˆ์ œ๋ฅผ ๋ณด์ง€ ์•Š์œผ๋ฉด ๋Œ€๋ถ€๋ถ„ ์‘?? 3์ง„๋ฒ•์ด ๋ญ๋”๋ผ?? ํ•  ๊ฒƒ ๊ฐ™๋‹ค ใ…‹ใ…‹ (์ €๋งŒ ๊ทธ๋ž˜์š”?? ๋ ์šฉ ๐Ÿ‘€) ๊ทธ๋ž˜์„œ ๋ฌธ์ œ์— ์ž…์ถœ๋ ฅ ์˜ˆ์ œ๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋‹ค..ํ•˜ํ•˜..ใ…‹ ์•”ํŠผ ์ผ๋‹จ ์ž์—ฐ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์œผ๋ฉด, 3์œผ๋กœ ๊ณ„์† ๋‚˜๋ˆ„๋ฉด์„œ ๋ชซ์ด 3๋ณด๋‹ค ์ž‘์•„์ง€๊ธฐ ์ „๊นŒ์ง€ ๊ณ„~์† ๋‚˜๋ˆ„๊ณ .. ๊ทธ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•œ ๋‚˜๋จธ์ง€(0, 1, 2 ๊ฒ ์ฃ !?)๋ฅผ ๊ฑฐ๊พธ๋กœ ์ญ‰~ ์ด์–ด ๋ถ™์ด๋ฉด 3์ง„๋ฒ• ํ‘œํ˜„์ด ๋œ๋‹ค. ๋ณดํ†ต 10์ง„์ˆ˜๋ฅผ ๋‹ค๋ฅธ ์ง„์ˆ˜๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜๋ฉด ์ˆœ์„œ๊ฐ€ ๋ฐ˜์ „๋œ ์ง„์ˆ˜๋กœ ํ‘œํ˜„๋˜์„œ, ์˜ฌ๋ฐ”๋ฅธ ์ง„๋ฒ• ํ‘œ๊ธฐ๋ฅผ ์œ„ํ•ด์„œ๋Š” ๊ฒฐ๊ตญ์€ reverse์ž‘์—…์„ ํ•ด์ค˜์•ผ ํ•˜๋Š”๋ฐ.. ์ด ๋ฌธ์ œ๋Š” ๋ฌธ์ œ์—์„œ ํ•œ๋ฒˆ ๋’ค์ง‘์œผ๋ผ๊ณ  ํ•˜๋„ค? ใ…‹ใ…‹ ๊ฟ€~~๐Ÿ‘๐Ÿ‘ (์–ด์ฐจํ”ผ ์ฝ”๋“œ๋Š” ํ•œ์ค„์ด์ง€๋งŒ ใ…‹ใ…‹) ๊ทธ๋Ÿฐ ํ›„์— 3์ง„์ˆ˜๋ฅผ 10์ง„๋ฒ•์œผ๋กœ ํ‘œํ˜„ํ•˜๋ ค๋ฉด, ์ œ์ผ ์ž‘์€์ž๋ฆฌ(์ œ์ผ ์šฐ์ธก) ๋ถ€ํ„ฐ 3์˜ 0์ œ๊ณฑx..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] 2016๋…„

์ด ๋ฌธ์ œ๋Š” ๋งค๋‹ฌ ๋ช‡์ผ๊นŒ์ง€ ์žˆ๋Š”์ง€ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•˜๋Š”๊ฒŒ ํฌ์ธํŠธ๋‹ค.. (๋‹ค๋“ค ์ฃผ๋จน์ง€๊ณ  ํฐ๋‹ฌ ์ž‘์€๋‹ฌ ์•„์‹œ์ฅฌ..!?ใ…‹ใ…‹๐Ÿ˜) ์—์ด~ ์ฝ”๋”ฉ์ธ๋ฐ ์š”์ผ ๊ตฌํ•˜๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ• ์žˆ์„๊นŒ? ๋ผ๊ณ  ์ ‘๊ทผํ•˜๋ฉด ์–ด๋ ค์›Œ์ง„๋‹ค.. "๋งค๋‹ฌ ๋ช‡์ผ๊นŒ์ง€ ์žˆ๋Š”์ง€ ์ฝ”๋“œ๊ฐ€ ์•Œ๊ณ  ์žˆ์–ด์•ผํ•œ๋‹ค"๋ฅผ ๋ช…์‹ฌํ•˜์ž. ํ•˜๋“œ์ฝ”๋”ฉ์ด ์•„๋‹ˆ๋‹ˆ๊นŒ ์•ˆ์‹ฌํ•˜์ž..ใ…‹ใ…‹ ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด 1์›”1์ผ์ด ๊ธˆ์š”์ผ์ด๋‹ˆ๊นŒ ์š”์ผ์€ ๊ธˆ~๋ชฉ ์ˆœ์„œ๋Œ€๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , 1์›” 1์ผ๋ถ€ํ„ฐ ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ๋‚ ์งœ๊นŒ์ง€ ์ด ์ผ์ˆ˜ % 7๋กœ ๊ตฌํ•˜๋ฉด ๋  ๋“ฏ ํ•˜๋‹ค. ์—ฌ๊ธฐ์„œ ํ•œ๊ฐ€์ง€ ์ฃผ์˜ํ•ด์•ผ ํ• ์ ์€, ์˜ˆ๋ฅผ๋“ค์–ด 1์›”2์ผ์ด๋ผ๊ณ  "์ผ์ˆ˜"๊ฐ€ 2๊ฐ€๋˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ 1์ด๋œ๋‹ค๋Š” ์ ์ด๋‹ค.ใ…‹ (-1์„ ์žŠ์ง€๋ง์ž) let days31: [Int] = [1, 3, 5, 7, 8, 10, 12] let days30: [Int] = [4, 6, 9, 11] let..