728x90
๋ฐ˜์‘ํ˜•
[Swift] Array popFirst

Array ๋ฌธ์„œ ์˜ Removing Elements ๋ถ€๋ถ„์„ ๋ณด๋ฉด popLast๋Š” ์žˆ์ง€๋งŒ popFirst๊ฐ€ ์—†๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. popFirst๋ฅผ ๊ฒ€์ƒ‰ํ•ด๋ณด๋ฉด ๋‘๊ฐœ๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ, ์ฒซ๋ฒˆ์งธ popFirst ๋Š” ArraySlice์— ์žˆ๊ณ  ๋‘๋ฒˆ์งธ popFirst๋Š” Collection์— ์žˆ๋„ค์š”! ๊ทธ๋ž˜์„œ popFirst๋ฅผ ์“ฐ๊ณ  ์‹ถ์œผ๋ฉด array์— ๋ฐ”๋กœ ๋ชป์“ฐ๊ณ  arraySlice์— ์จ์ค˜์•ผํ•ฉ๋‹ˆ๋‹ค,,, ์œ„์˜ ํ•œ ์ค„์„ ํ’€์–ด์จ๋ณด๋ฉด ์ด๋ ‡๊ฒŒ ๋˜๋Š”๋ฐ์š”, array์˜ range๋ฅผ ๊ตฌํ•ด์„œ arrayslice๋ฅผ ๋งŒ๋“ค์–ด์ค€ ๊ฒƒ์ž…๋‹ˆ๋‹ค! ์ข€ ๋ถˆํŽธํ•˜๋‹ˆ๊นŒ extension์„ ๋งŒ๋“ค์–ด์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์ด์ œ array์— ๋ฐ”๋กœ ํŽธํ•˜๊ฒŒ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [ ์ฐธ๊ณ  ] ์ฐธ๊ณ ๋กœ ์ด๋ ‡๊ฒŒ extension ์•ˆ๋งŒ๋“ค๊ณ  ๊ทธ๋ƒฅ ์—ฌ๊ธฐ removeFirst ์“ฐ๋ฉด ๋˜๋Š”..

๐Ÿ/Swift 2021. 5. 7. 18:22
[Swift] ์ „์ฒ˜๋ฆฌ๋ฌธ (#if DEBUG, #if os)

[1] ์ „์ฒ˜๋ฆฌ๋ฌธ์ด๋ž€์ „์ฒ˜๋ฆฌ๋ฌธ(PREPROCESSOR STATEMENT)์€ ๋ง๊ทธ๋Œ€๋กœ ์ปดํŒŒ์ผ ์ด์ „์— ๋ฏธ๋ฆฌ ์ฒ˜๋ฆฌ๋˜๋Š” ๋ฌธ์žฅ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒ˜๋ฆฌ๋ฌธ์€ #๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ข…๋ฅ˜๋„ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ์š”, ์ƒ์ˆ˜(constant)๋ฅผ ์ •์˜ํ•˜๋Š” ์ „์ฒ˜๋ฆฌ๋ฌธ#define PI 3.14 ํŒŒ์ผ์„ ํฌํ•จ์‹œํ‚ค๋Š” ์ „์ฒ˜๋ฆฌ๋ฌธ#include ํŒŒ์ผ์ด๋ฆ„ ์ฐธ๊ฑฐ์ง“์„ ํŒ๋ณ„ํ•ด์„œ ์–ด๋–ค ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผ ํ• ์ง€๋ง์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์ „์ฒ˜๋ฆฌ๋ฌธ #if ์กฐ๊ฑด๋ฌธ source code.. #endif๋“ฑ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ #define์ด๋ž‘ #include๋Š” ์Šค์œ„ํ”„ํŠธ์—์„œ ๋ชป์จ์š”-!! ์œ„์˜ ์˜ˆ์ œ๋Š” C์—์„œ ์ฃผ๋กœ ์“ฐ์ด๋Š” ๊ฒƒ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค. [2] Swift์—์„œ ์ „์ฒ˜๋ฆฌ๋ฌธ์„ ์“ด ๊ฒฝ์šฐ iOS ๊ฐœ๋ฐœํ•˜๋‹ค๊ฐ€ ์“ฐ๋Š” ๊ฒฝ์šฐ๋Š”๋ณดํ†ต release์™€ debug๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ฑฐ๋‚˜ #if DEBUG print("DEBUG์—..

๐Ÿ/Swift 2020. 8. 9. 23:08
[Swift] ์ •๊ทœํ‘œํ˜„์‹(Regular Expression)์œผ๋กœ Get Parameters ๊ตฌํ•˜๊ธฐ

https://www.test.com/users?gender=male&age=20&job=designer ์œ„์™€ ๊ฐ™์€ get ์š”์ฒญ์—์„œ gender=male age=20 job=designer ๊ฐ™์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ตฌํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ์š”?!? ์ €๋Š” ์ •๊ทœํ‘œํ˜„์‹์„ ์ด์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. Swift์—์„œ ์ •๊ทœํ‘œํ˜„์‹(Regular Expression)์„ ์ด์šฉํ•˜๊ธฐ ํฌ์ŠคํŒ…์— ์ฐจ๋งˆ ์ด์–ด์“ฐ์ง€ ๋ชปํ•˜๊ฒ ์–ด์„œ(๐Ÿ˜ฑ) ์ƒˆ๋กญ๊ฒŒ ์”๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ž์„ธํ•œ ์„ค๋ช…์€ ์ €๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๊ฐ„๋žตํ•˜๊ฒŒ! ๊ฒฐ๋ก  ์ด๋ ‡๊ฒŒ extension์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์ •๊ทœํ‘œํ˜„์‹ ํŒจํ„ด์œผ๋กœ ์•„๋ž˜์˜ ๊ฒƒ์„ ์“ฐ๋ฉด ๋ฉ๋‹ˆ๋‹ค. [^&?]+=[^&?]+ ํ…Œ์ŠคํŠธ๋ฅผ ๋Œ๋ฆฌ๋ฉด ์„ฑ๊ณตํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณผ์ • ์ €๋ ‡๊ฒŒ ํ…Œ์ŠคํŠธ๊ฐ€ ์„ฑ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ๊ณผ์ •์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ์„  [^?&] ์ด๊ฑฐ ๋ถ€ํ„ฐ ์‚ดํŽด๋ณด์ž..

๐Ÿ/Swift 2020. 3. 1. 17:33
[Enum] Enum์—์„œ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒํ™ฉ๋“ค(?)

enum์˜ rawValue, CaseIterable ๊ฐ™์€ ์—ฌ๋Ÿฌ ์†์„ฑ๋“ค์„ ๋‹ค ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์—ˆ์œผ๋‚˜, ์•ˆ๋˜๋Š” case๋“ค์ด ์žˆ์–ด์„œ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณธ๋‹ค 1) CaseIterable ๊ณผ ์—ฐ๊ด€๊ฐ’(associated value) ๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค ์ด๋ ‡๊ฒŒ allCases ๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ์ง์ ‘ ์„ ์–ธํ•ด์ฃผ์–ด์•ผ์ง€ Test.allCases ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค Enum์ž…์žฅ์—์„œ๋Š”(?) ์—ฐ๊ด€๊ฐ’์ด ์žˆ์œผ๋ฉด ์—ฐ๊ด€๊ฐ’์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ์ผ€์ด์Šค๋“ค์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋ผ์„œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์—ฐ๊ด€๊ฐ’๊ณผ ํ•จ๊ป˜ ์ผ€์ด์Šค๋กœ ํ•ด์ค„ ๊ฒƒ๋“ค์„ ์•Œ๋ ค๋‹ฌ๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ์ด ์ž์—ฐ์Šค๋Ÿฌ์šด ๊ฒƒ ๊ฐ™๋‹ค : ) 2) rawValue์™€ ์—ฐ๊ด€๊ฐ’(associated value) ๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค ์ด๋ ‡๊ฒŒ ๋”ฐ๋กœ rawValue๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์ˆ˜ ๋ฐ–์— ์—†๋‹ค ใ… .ใ… 

๐Ÿ/Swift 2019. 6. 6. 20:02
[Swift] Swift๋กœ Binary Search( ์ด์ง„ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ )๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด์ž

1) Simple Search ( ๋‹จ์ˆœํƒ์ƒ‰ ) - ์‹œ๊ฐ„๋ณต์žก๋„ 0(n) ๋ฐฐ์—ด์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•˜๋‚˜ํ•˜๋‚˜์”ฉ ๋น„๊ตํ•˜๋ฉด์„œ ์ฐพ๋Š” ๋ฐฉ๋ฒ•. n๊ฐœ์˜ ์›์†Œ๋ฅผ ๊ฐ€์ง„ ๋ฆฌ์ŠคํŠธ์—์„œ Simple Search๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ตœ๋Œ€ n ๋ฒˆ์˜ search๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ๋„ ์žˆ๋‹ค 2) Binary Search ( ์ด์ง„ ํƒ์ƒ‰ ) - ์‹œ๊ฐ„๋ณต์žก๋„ O(logn) Simple Search์™€ ๋‹ฌ๋ฆฌ, ์ ˆ๋ฐ˜์”ฉ ์ œ์™ธ์‹œํ‚ค๋ฉด์„œ ์ฐพ๋Š”๋‹ค n๊ฐœ์˜ ์›์†Œ๋ฅผ ๊ฐ€์ง„ ๋ฆฌ์ŠคํŠธ์—์„œ Binary Search๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ตœ๋Œ€ log2(n) ๋ฒˆ๋งŒ์— ๋‹ต์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฆฌ์ŠคํŠธ์— ์ˆซ์ž๊ฐ€ 8๊ฐœ ์žˆ๋‹ค๋ฉด 1) Simple Search - ์ตœ์•…์˜ ๊ฒฝ์šฐ ์ตœ๋Œ€ 8๊ฐœ์˜ ์ˆซ์ž ํ™•์ธ 2) Binary Search - ์ตœ์•…์˜ ๊ฒฝ์šฐ ์ตœ๋Œ€ log2(8) = 3๊ฐœ์˜ ์ˆซ์žํ™•์ธ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ex) ๋ฆฌ์ŠคํŠธ์— ..

๐Ÿ/Swift 2019. 3. 30. 16:16
๊ณต์ง€์‚ฌํ•ญ
Total
256,740
Today
836
Yesterday
971
๋งํฌ
«   2021/06   »
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
๊ธ€ ๋ณด๊ด€ํ•จ