์•Œ๊ณ ๋ฆฌ์ฆ˜(programmers) 22

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์ž์—ฐ์ˆ˜ ๋’ค์ง‘์–ด ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค๊ธฐ

์œ„ ํ’€์ด๋ฅผ ๊ณ ์ฐจํ•จ์ˆ˜ map์„ ์ด์šฉํ•ด์„œ ํ’€์–ด๋ณด์•˜๋‹ค! compactMap์€ ์‹œํ€€์Šค ๊ฐ ์š”์†Œ๋ฅผ ์กฐ๊ฑด์„ ์ง€์ •ํ•˜์—ฌ ํ˜ธ์ถœํ•  ๋•Œ, nil์ด ์•„๋‹Œ ๊ฒฐ๊ณผ๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ฆฌํ„ดํ•œ๋‹ค. ์ฆ‰, compactMap์€ nil ๊ฐ’๋„ ์•Œ์•„์„œ ๊ฑธ๋Ÿฌ์ฃผ๊ณ , ์˜ต์…”๋„ ๊ฐ’๋„ ๋ฒ—๊ฒจ์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค. (์ž์„ธํ•œ ๋‚ด์šฉ๊ณผ ์˜ˆ์‹œ๋Š” ์•„๋ž˜ swift docu ํ™•์ธ! ) compactMap(_:) | Apple Developer Documentation Returns an array containing the non- results of calling the given transformation with each element of this sequence. developer.apple.com while๋ฌธ ํ™œ์šฉ num์ด 0๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ while๋ฌธ ๋ฐ˜๋ณต arr์— num..

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_x๋งŒํผ ๊ฐ„๊ฒฉ์ด ์žˆ๋Š” n๊ฐœ์˜ ์ˆซ์ž

์ด๋ฒˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ Int64 ์ด๋ ‡๊ฒŒ ํƒ€์ž… ์˜†์— ์ˆซ์ž๊ฐ€ ํ•จ๊ป˜ ์จ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ์ฒ˜์Œ ๋ดค๋‹ค. ์˜ต์…˜ํ‚ค๋กœ ๋ˆŒ๋Ÿฌ๋ณด๋‹ˆ 64bit Int ํƒ€์ž…์ด๋ผ๊ณ  ํ•œ๋‹ค. '์ž๋ฃŒํ˜•์˜ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜๋Š”๊ฑด๊ฐ€?' '๊ทธ๋Ÿผ ํ‰์†Œ์— ์“ฐ๋˜ Int์˜ ํฌ๊ธฐ๋Š” ์–ผ๋งˆ๋‚˜ ๋˜๋Š” ๊ฑฐ์ง€?'๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด์„œ ์ž…๋ ฅํ•ด ๋ณด์•˜๋‹ค. Int64์˜ ๋ฒ”์œ„์™€ Int์˜ ๋ฒ”์œ„๊ฐ€ ๊ฐ™์•˜๋‹ค. ๊ตฌ๊ธ€๋ง์—์„œ ์ฐพ์•„๋ณด๋‹ˆ! ์ž๋ฃŒํ˜•์˜ ํฌ๊ธฐ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์‹œ์Šคํ…œ์˜ ์•„ํ‚คํ…์ณ์— ๋”ฐ๋ผ์„œ ์ง€์ •๋œ๋‹ค๊ณ  ํ•œ๋‹ค. ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์‹œ์Šคํ…œ์— ๋งž์ถฐ์„œ ์ž๋™์œผ๋กœ 64bit๋กœ ์ง€์ •๋œ ๊ฒƒ ๊ฐ™๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ, ํฐ ๊ฐ’์„ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” ๊ตณ์ด ํฐ ํฌ๊ธฐ์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , ์ž‘์€ ๋น„ํŠธ๋ฅผ ๊ฐ€์ง€๋Š” ํƒ€์ž…์„ ์‚ฌ์šฉํ•ด๋„ ์ถฉ๋ถ„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฒˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ์ฒ˜๋Ÿผ Int8, Int16, ... ๋“ฑ ์„ ์–ธํ•ด์ค€๋‹ค๋ฉด ๋ฉ”..

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_ํ‘ธ๋“œํŒŒ์ดํ„ฐ

ํ‘ธ๋“œํŒŒ์ดํ„ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด๋ฅผ ํ•˜๋ฉด์„œ Array ๊ธฐ๋Šฅ๊ณผ joined์— ๋Œ€ํ•ด์„œ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ๋‹ค. โœ”๏ธinit(repeating:count:) → ํŠน์ • ๊ฐ’์„ ๋ฐ˜๋ณต โœ”๏ธ (repeating → ๋ฐ˜๋ณตํ•  ๋ฌธ์ž, ๋ฌธ์ž์—ด, ์ˆซ์ž, bool / count → ๋ฐ˜๋ณตํ•  ํšŸ์ˆ˜) โœ”๏ธjoined( ) → ๋ฐฐ์—ด ์† ์›์†Œ๋“ค์„ ํ•˜๋‚˜๋กœ ๋ฌถ์„๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์†Œ๋“œโœ”๏ธ joined() | Apple Developer Documentation Returns the elements of this sequence of sequences, concatenated. developer.apple.com โœ”๏ธjoined(separator:) → ํŠน์ • ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฌถ๋Š” ๋ฐฉ๋ฒ•โœ”๏ธ joined(separator:) | Apple Developer Do..

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์•ฝ์ˆ˜์˜ ํ•ฉ

์•ฝ์ˆ˜๋Š” ์–ด๋–ค ์ˆ˜๋ฅผ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด ๋˜๋Š” ์ˆ˜์ด๋‹ค. '๋‚˜๋จธ์ง€๊ฐ€ 0์ด ๋˜๋Š” ์ˆ˜'์— ์ง‘์ค‘ํ•˜๋‹ˆ ์‰ฝ๊ฒŒ ํ’€์–ด๋‚ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.๐Ÿ˜€ ํ’€์ด ๊ณผ์ •์€ ์ฃผ์„ ์ฒ˜๋ฆฌํ•ด ๋†“์•˜๋‹ค.

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_ํ‰๊ท  ๊ตฌํ•˜๊ธฐ/ ์ž๋ฆฟ์ˆ˜ ๋”ํ•˜๊ธฐ

ํ‰๊ท  ๊ตฌํ•˜๊ธฐ ์•ž์„œ ํ’€์—ˆ๋˜ '๋ฐฐ์—ด์˜ ํ‰๊ท ๊ฐ’'๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๋กœ ํ’€์ด ๊ฐ€๋Šฅํ•ด์„œ ์„ค๋ช…์€ ์ƒ๋žต! ์ž๋ฆฟ์ˆ˜ ๋”ํ•˜๊ธฐ n = 123 ์ด๋ผ๋ฉด, 0๋ณด๋‹ค ํฌ๊ธฐ ๋•Œ๋ฌธ์— while ๋ฌธ์„ ๋Œ๊ฒŒ ๋œ๋‹ค. 123์„ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋Š” 3 123์„ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋ชซ์€ 12 -> 12๋Š” 0๋ณด๋‹ค ํฌ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์‹œ while ๋ฌธ ๋Œ๊ธฐ 12๋ฅผ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋Š” 2 12๋ฅผ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋ชซ์€ 1 -> 1์€ 0๋ณด๋‹ค ํฌ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์‹œ while ๋ฌธ ๋Œ๊ธฐ 1์„ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋Š” 1 1์„ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋ชซ์€ 0 -> 0์€ 0๋ณด๋‹ค ํฌ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— while ๋ฌธ ์ข…๋ฃŒ - ๊ฐ๊ฐ์˜ ๋‚˜๋จธ์ง€ 3, 2, 1์€ answer์— ๋”ํ•ด์ ธ์„œ ๊ฒฐ๊ณผ๋Š” 6

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์ง์ˆ˜์™€ ํ™€์ˆ˜

์ด๋ ‡๊ฒŒ ๋ง๊ณ ๋„ ํ•œ ์ค„๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅ! func soultion(_ num:Int) -> String { return num % 2 == 0 ? "Even" : "Odd" } num ์„ 2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด๋ผ๋ฉด "Even"์„ ์•„๋‹ˆ๋ผ๋ฉด "Odd"๋ฅผ ๋ฆฌํ„ด

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_๋ฐฐ์—ด์˜ ํ‰๊ท ๊ฐ’

์ด ๋ฐฐ์—ด์˜ ์š”์†Œ๋“ค์„ ๋”ํ•ด์ฃผ๋Š” ๊ณ ์ฐจํ•จ์ˆ˜ reduce๋ฅผ ์ด์šฉํ•˜๋ฉด ์ฝ”๋“œ๊ฐ€ ๋” ๊ฐ„๊ฒฐํ•ด์งˆ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค! ๊ณ ์ฐจํ•จ์ˆ˜ ๋ฐฐ์šฐ๊ณ  ๋‚˜์„œ ๋ฐ‘์— ์ด์–ด์„œ ์ถ”๊ฐ€๋กœ ์ž‘์„ฑํ•ด ๋ณผ ์˜ˆ์ •์ด๋‹ค. ^0^ (+์ถ”๊ฐ€) reduce ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜๋‹ˆ ์ฝ”๋“œ๊ฐ€ ํ›จ์”ฌ ๊ฐ„๋‹จํ•ด์กŒ๋‹ค!! ์•„์ง ๋ฐ”๋กœ reduce๋กœ ๋งŒ๋“ค๊ธฐ์—๋Š” ์ฝ”๋“œ๊ฐ€ ๋จธ๋ฆฟ์†์— ์ž˜ ์•ˆ๋“ค์–ด์™€์„œ for๋ฌธ์œผ๋กœ ๋จผ์ € ๋งŒ๋“ค๊ณ , ๋ณด๋ฉด์„œ reduce๋ฅผ ์‚ฌ์šฉํ•ด๋ด์•ผ๊ฒ ๋‹ค!๐Ÿ˜ƒ