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

3๏ธโƒฃ Swift130

[Swift Algorithm] ์‹œ์ € ์•”ํ˜ธ Programmers(Lv.1) ๋ฌธ์ œ ์„ค๋ช… ์–ด๋–ค ๋ฌธ์žฅ์˜ ๊ฐ ์•ŒํŒŒ๋ฒณ์„ ์ผ์ •ํ•œ ๊ฑฐ๋ฆฌ๋งŒํผ ๋ฐ€์–ด์„œ ๋‹ค๋ฅธ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๋ฐ”๊พธ๋Š” ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ์‹œ์ € ์•”ํ˜ธ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "AB"๋Š” 1๋งŒํผ ๋ฐ€๋ฉด "BC"๊ฐ€ ๋˜๊ณ , 3๋งŒํผ ๋ฐ€๋ฉด "DE"๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. "z"๋Š” 1๋งŒํผ ๋ฐ€๋ฉด "a"๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด s์™€ ๊ฑฐ๋ฆฌ n์„ ์ž…๋ ฅ๋ฐ›์•„ s๋ฅผ n๋งŒํผ ๋ฏผ ์•”ํ˜ธ๋ฌธ์„ ๋งŒ๋“œ๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด ๋ณด์„ธ์š”. ์ œํ•œ ์กฐ๊ฑด ๊ณต๋ฐฑ์€ ์•„๋ฌด๋ฆฌ ๋ฐ€์–ด๋„ ๊ณต๋ฐฑ์ž…๋‹ˆ๋‹ค. s๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž, ๋Œ€๋ฌธ์ž, ๊ณต๋ฐฑ์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. s์˜ ๊ธธ์ด๋Š” 8000์ดํ•˜์ž…๋‹ˆ๋‹ค. n์€ 1 ์ด์ƒ, 25์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ s n result "AB" 1 "BC" "z" 1 "a" "a B z" 4 "e F d" ๋‚ด ๋ฌธ์ œ ํ’€์ด func solution(_ s:String, _ n:Int) -> .. 2021. 6. 14.
[Swift Algorithm] ์•ฝ์ˆ˜์˜ ํ•ฉ Programmers(Lv.1) ๋ฌธ์ œ ์„ค๋ช… ์ •์ˆ˜ n์„ ์ž…๋ ฅ๋ฐ›์•„ n์˜ ์•ฝ์ˆ˜๋ฅผ ๋ชจ๋‘ ๋”ํ•œ ๊ฐ’์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ ์กฐ๊ฑด n์€ 0 ์ด์ƒ 3000์ดํ•˜์ธ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ n return 12 28 5 6 ๋‚ด ๋ฌธ์ œ ํ’€์ด func solution(_ n:Int) -> Int { var sum = 0 for i in 1.. 2021. 6. 14.
[Swift Algorithm] ์ด์ƒํ•œ ๋ฌธ์ž ๋งŒ๋“ค๊ธฐ Programmers(Lv.1) ๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ž์—ด s๋Š” ํ•œ ๊ฐœ ์ด์ƒ์˜ ๋‹จ์–ด๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋‹จ์–ด๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ณต๋ฐฑ๋ฌธ์ž๋กœ ๊ตฌ๋ถ„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋‹จ์–ด์˜ ์ง์ˆ˜๋ฒˆ์งธ ์•ŒํŒŒ๋ฒณ์€ ๋Œ€๋ฌธ์ž๋กœ, ํ™€์ˆ˜๋ฒˆ์งธ ์•ŒํŒŒ๋ฒณ์€ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พผ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”. ์ œํ•œ ์กฐ๊ฑด ๋ฌธ์ž์—ด ์ „์ฒด์˜ ์ง/ํ™€์ˆ˜ ์ธ๋ฑ์Šค๊ฐ€ ์•„๋‹ˆ๋ผ, ๋‹จ์–ด(๊ณต๋ฐฑ์„ ๊ธฐ์ค€)๋ณ„๋กœ ์ง/ํ™€์ˆ˜ ์ธ๋ฑ์Šค๋ฅผ ํŒ๋‹จํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๊ธ€์ž๋Š” 0๋ฒˆ์งธ ์ธ๋ฑ์Šค๋กœ ๋ณด์•„ ์ง์ˆ˜๋ฒˆ์งธ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ s return "try hello world" "TrY HeLlO WoRlD" ๋‚ด ๋ฌธ์ œ ํ’€์ด func solution1(_ s:String) -> String { var arr = s.components(separatedBy: " ") for i in 0.. String.. 2021. 6. 14.
[Swift Algorithm] ์ž๋ฆฟ์ˆ˜ ๋”ํ•˜๊ธฐ Programmers(Lv.1) ๋ฌธ์ œ ์„ค๋ช… ์ž์—ฐ์ˆ˜ N์ด ์ฃผ์–ด์ง€๋ฉด, N์˜ ๊ฐ ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์„ ๊ตฌํ•ด์„œ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์„ธ์š”. ์˜ˆ๋ฅผ๋“ค์–ด N = 123์ด๋ฉด 1 + 2 + 3 = 6์„ return ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ œํ•œ ์กฐ๊ฑด N์˜ ๋ฒ”์œ„ : 100,000,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ ์ž…์ถœ๋ ฅ ์˜ˆ N answer 123 6 987 24 ๋‚ด ๋ฌธ์ œ ํ’€์ด func solution1(_ n:Int) -> Int { var answer:Int = 0 answer = String(n).map{Int(String($0))!}.reduce(0, +) return answer } String์œผ๋กœ ์บ์ŠคํŒ… ํ•œ ํ›„, String ์š”์†Œ ๊ฐ’๋“ค์„ ๋ชจ๋‘ Int๋กœ ์บ์ŠคํŒ…, reduce๋กœ ๋ชจ๋“  ๊ฐ’์„ ๋”ํ•ด์ฃผ์—ˆ์Œ ๐Ÿ’ก ํ”ผ๋“œ๋ฐฑ map, reduce ์ด์šฉํ•˜๋ฉด ๋ฐ”๋กœ ํ’€ .. 2021. 6. 14.
[Swift Algorithm] ์ž์—ฐ์ˆ˜ ๋’ค์ง‘์–ด ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค๊ธฐ Programmers(Lv.1) ๋ฌธ์ œ ์„ค๋ช… ์ž์—ฐ์ˆ˜ n์„ ๋’ค์ง‘์–ด ๊ฐ ์ž๋ฆฌ ์ˆซ์ž๋ฅผ ์›์†Œ๋กœ ๊ฐ€์ง€๋Š” ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋ฆฌํ„ดํ•ด์ฃผ์„ธ์š”. ์˜ˆ๋ฅผ๋“ค์–ด n์ด 12345์ด๋ฉด [5,4,3,2,1]์„ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค. ์ œํ•œ ์กฐ๊ฑด n์€ 10,000,000,000์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ n return 12345 [5, 4, 3, 2, 1] ๋‚ด ๋ฌธ์ œ ํ’€์ด func solution(_ n:Int64) -> [Int] { return String(n).map{ Int(String($0))! }.reversed() } ์ž…๋ ฅ๋ฐ›์€ n ๊ฐ’์„ String์œผ๋กœ ๋ณ€ํ™˜, map์„ ์ด์šฉํ•ด ์ŠคํŠธ๋ง ์š”์†Œ๋“ค์„ ๋ชจ๋‘ Int๋กœ ๋ณ€ํ™˜ํ•ด reversed ํ•ด์ฃผ์—ˆ๋‹ค. ๐Ÿ’ก ํ”ผ๋“œ๋ฐฑ ํ˜•๋ณ€ํ™˜ ๋ฐ mapํ•จ์ˆ˜์˜ ๊ฐœ๋…๋งŒ ์ž˜ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด ๋ฐ”๋กœ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€๋‹ค. reversed ํ•จ์ˆ˜๋ฅผ ์ฒ˜์Œ ์ ‘ํ–ˆ๋‹ค. ์œ ์šฉํ•œ ํ•จ์ˆ˜.. 2021. 6. 14.