๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ264

[Swift Algorithm] x๋งŒํผ ๊ฐ„๊ฒฉ์ด ์žˆ๋Š” n๊ฐœ์˜ ์ˆซ์ž Programmers(Lv.1) ๋ฌธ์ œ ์„ค๋ช… ํ•จ์ˆ˜ solution์€ ์ •์ˆ˜ x์™€ ์ž์—ฐ์ˆ˜ n์„ ์ž…๋ ฅ ๋ฐ›์•„, x๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด x์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆซ์ž๋ฅผ n๊ฐœ ์ง€๋‹ˆ๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์ œํ•œ ์กฐ๊ฑด์„ ๋ณด๊ณ , ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ ์กฐ๊ฑด x๋Š” -10000000 ์ด์ƒ, 10000000 ์ดํ•˜์ธ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค. n์€ 1000 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ x n answer 2 5 [2, 4, 6, 8, 10] 4 3 [4, 8, 12] -4 2 [-4 , -8] ๋‚ด ๋ฌธ์ œ ํ’€์ด func solution(_ x:Int, _ n:Int) -> [Int64] { var arr = [Int64]() var k = x var num = 0 while num < n { arr.append(Int64(k)) k += x nu.. 2021. 6. 6.
[Swift Algorithm] ํ•ธ๋“œํฐ ๋ฒˆํ˜ธ ๊ฐ€๋ฆฌ๊ธฐ Programmers(Lv.1) ๋ฌธ์ œ ์„ค๋ช… ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ชจ๋ฐ”์ผ์€ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ์œ„ํ•ด ๊ณ ์ง€์„œ๋ฅผ ๋ณด๋‚ผ ๋•Œ ๊ณ ๊ฐ๋“ค์˜ ์ „ํ™”๋ฒˆํ˜ธ์˜ ์ผ๋ถ€๋ฅผ ๊ฐ€๋ฆฝ๋‹ˆ๋‹ค. ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ ๋ฌธ์ž์—ด phone_number๋กœ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ „ํ™”๋ฒˆํ˜ธ์˜ ๋’ท 4์ž๋ฆฌ๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ์ˆซ์ž๋ฅผ ์ „๋ถ€ *์œผ๋กœ ๊ฐ€๋ฆฐ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ ์กฐ๊ฑด s๋Š” ๊ธธ์ด 4 ์ด์ƒ, 20 ์ดํ•˜์ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ phone_number return "01033334444" "*******4444" "027778888" "*****8888" ๋‚ด ๋ฌธ์ œ ํ’€์ด func solution(_ phone_number:String) -> String { var arr = [String]() var phoneNumCount = phone_number.count while (pho.. 2021. 6. 6.
[Swift] Optional(์˜ต์…”๋„) ์ •๋ฆฌ ์Šค์œ„ํ”„ํŠธ ๊ณต๋ถ€๋ฅผ ํ•˜๋‹ค ๋ณด๋‹ˆ ?, ๊ทธ๋ฆฌ๊ณ  ! ์ด๋Ÿฐ ๋ฌธ์žฅ ๋ถ€ํ˜ธ๋“ค์ด ๋“ฑ์žฅํ•œ๋‹ค. ์˜ค๋Š˜์€ ๊ทธ ์ค‘ ?์— ๋Œ€ํ•ด ๋จผ์ € ์„ค๋ช…ํ•ด ๋ณด๋ ค ํ•œ๋‹ค. ๐Ÿ“Ž ์˜ต์…”๋„ ์Šค์œ„ํ”„ํŠธ๊ฐ€ ๊ฐ€์ง€๋Š” ๋Œ€ํ‘œ์ ์ธ ํŠน์ง•์œผ๋กœ ์•ˆ์ „์„ฑ์ด ์žˆ๋‹ค. ์˜ต์…”๋„์€ ๋ฐ”๋กœ ์•ˆ์ „์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ! ์šฐ๋ฆฌ๊ฐ€ String, Int, Double ๋“ฑ ์ผ๋ฐ˜์ ์ธ ํƒ€์ž…์„ ์ง€์ •ํ•  ๋•Œ, ์Šค์œ„ํ”„ํŠธ์˜ ํƒ€์ž…๋“ค์€ ๋ชจ๋‘ nil์ด ๋ถˆ๊ฐ€ํ•˜๊ฒŒ ๋˜์–ด์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ž ๊น, nil์ด๋ž€? nil์€ '๊ฐ’์ด ์—†์Œ'์„ ๋œปํ•œ๋‹ค. 0๊ณผ๋Š” ๋‹ค๋ฅธ ๊ฐœ๋…! ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฌธ์ž์—ด "์‚ฌ๊ณผ"๋Š” ์ •ํ™•ํžˆ ๊ฐ’์ด ์žˆ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฌธ์ž์—ด ""๋Š” ๊ฐ’์ด ์—†๋Š” ๊ฒƒ์ผ๊นŒ? ์•„๋‹ˆ๋‹ค. ""๋„ ๊ฐ’์ด ์žˆ๋Š” ๋ฌธ์ž์—ด์ด๋ฉฐ, ๊ฐ’์ด ์—†๋Š” ๋ฌธ์ž์—ด์€ ๋ฐ”๋กœ nil์ด๋‹ค. (nil์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์€ ์—ฌ๊ธฐ๐Ÿ‘‡๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”!) 2021.06.07 - [๐Ÿ“ Swi.. 2021. 6. 6.
[Swift Algoritm] ํ‰๊ท  ๊ตฌํ•˜๊ธฐ Programmers(Lv.1) ๋ฌธ์ œ ์„ค๋ช… ์ •์ˆ˜๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋ฐฐ์—ด arr์˜ ํ‰๊ท ๊ฐ’์„ returnํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด๋ณด์„ธ์š”. ์ œํ•œ ์กฐ๊ฑด arr๋Š” ๊ธธ์ด 1 ์ด์ƒ, 100 ์ดํ•˜์ธ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค. arr์˜ ์›์†Œ๋Š” -10,000 ์ดํ•˜์ธ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ arr return [1, 2, 3, 4] 2.5 [5, 5] 5 ๋‚ด ๋ฌธ์ œ ํ’€์ด func solution(_ arr:[Int]) -> Double { let result = Double(arr.reduce(0, +)) / Double(arr.count) return result } reduce(0, +)๋ฅผ ์ด์šฉํ•ด์„œ arr ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์›์†Œ๋ฅผ ๋”ํ•ด์ฃผ๊ณ , arr.count๋กœ ๊ตฌํ•œ ๋ฐฐ์—ด์˜ ๊ธธ์ด๋กœ ๋‚˜๋ˆ„์–ด์ฃผ์—ˆ๋‹ค. ๐Ÿ’ก ํ”ผ๋“œ๋ฐฑ ๊ตณ์ด result ์ƒ์ˆ˜๋ฅผ ์„ ์–ธํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ return๋ฌธ ํ•œ .. 2021. 6. 5.