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

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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0] ์ˆซ์ž ์ฐพ๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0 ๋ชจ์Œ ์ˆซ์ž ์ฐพ๊ธฐ ๋ฌธ์ œ ์„ค๋ช… ์ •์ˆ˜ num๊ณผ k๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, num์„ ์ด๋ฃจ๋Š” ์ˆซ์ž ์ค‘์— k๊ฐ€ ์žˆ์œผ๋ฉด num์˜ ๊ทธ ์ˆซ์ž๊ฐ€ ์žˆ๋Š” ์ž๋ฆฌ ์ˆ˜๋ฅผ return ํ•˜๊ณ  ์—†์œผ๋ฉด -1์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ๋ณด์„ธ์š”. ์ œํ•œ ์‚ฌํ•ญ 0 Int { let n = String(num).map{Int(String($0))!} return n.contains(k) ? n.firstIndex(of: k)! + 1 : -1 } ์ž…๋ ฅ๋ฐ›์€ ์ •์ˆ˜๋ฅผ Intํ˜• ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•œ ํ›„, k ๊ฐ€ ์กด์žฌํ•˜๋ฉด ์ธ๋ฑ์Šค๋ฅผ, ์—†๋‹ค๋ฉด -1์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. 2023. 1. 13.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0] ๋ฐฐ์—ด์˜ ์œ ์‚ฌ๋„ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0 ๋ชจ์Œ ๋ฐฐ์—ด์˜ ์œ ์‚ฌ๋„ ๋ฌธ์ œ ์„ค๋ช… ๋‘ ๋ฐฐ์—ด์ด ์–ผ๋งˆ๋‚˜ ์œ ์‚ฌํ•œ์ง€ ํ™•์ธํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด ๋ฐฐ์—ด s1๊ณผ s2๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๊ฐ™์€ ์›์†Œ์˜ ๊ฐœ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”. ์ œํ•œ ์‚ฌํ•ญ 1 ≤ s1, s2์˜ ๊ธธ์ด ≤ 100 1 ≤ s1, s2์˜ ์›์†Œ์˜ ๊ธธ์ด ≤ 10 s1๊ณผ s2์˜ ์›์†Œ๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค s1๊ณผ s2๋Š” ๊ฐ๊ฐ ์ค‘๋ณต๋œ ์›์†Œ๋ฅผ ๊ฐ–์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ s1 s2 result ["a", "b", "c"] ["com", "b", "d", "p", "c"] 2 ["n", "omg"] ["m", "dot"] 0 ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ #1 "b"์™€ "c"๊ฐ€ ๊ฐ™์œผ๋ฏ€๋กœ 2๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ #2 ๊ฐ™์€ ์›์†Œ๊ฐ€ ์—†์œผ๋ฏ€๋กœ 0์„ r.. 2023. 1. 13.
Swipe Gesture ์Šค์™€์ดํ”„ ์ œ์Šค์ฒ˜(Swipe Gesture) ํ™”๋ฉด์—์„œ ์ˆ˜ํ‰ ๋˜๋Š” ์ˆ˜์ง swipe๋™์ž‘์„ ๊ฐ์ง€ํ•˜๊ณ , ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ˜ํ…์ธ ๋ฅผ ํƒ์ƒ‰(navigation) swipe: ์†๊ฐ€๋ฝ์œผ๋กœ ํ™”๋ฉด์„ ์ƒํ•˜์ขŒ์šฐ๋กœ ๋ฏธ๋Š” ๋™์ž‘ 1. ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ ๋ฐ ์•„์›ƒ๋ › ๋ณ€์ˆ˜ ์ถ”๊ฐ€ ์ƒํ•˜์ขŒ์šฐ ๋„ค ๊ฐ€์ง€ ๋ฐฉํ–ฅ์œผ๋กœ swipe gesture๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด 4๊ฐœ์˜ image View๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. 4๊ฐœ์˜ image View์— ๋Œ€ํ•œ ์•„์›ƒ๋ › ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. 2. ๋ณ€์ˆ˜ ์ƒ์„ฑ ๋ฐ ์ดˆ๊ธฐ ์ด๋ฏธ์ง€ ์„ค์ • ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋ณด์ผ ์ด๋ฏธ์ง€๋“ค์˜ ์ด๋ฆ„์„ ๋ณ€์ˆ˜์— ์ €์žฅํ•ด ๋‘”๋‹ค. viewDidLoad()์—์„œ ๋ทฐ๊ฐ€ ๋‚˜ํƒ€๋‚  ๋•Œ ๋ณด์ผ ์ดˆ๊ธฐ ์ด๋ฏธ์ง€๋ฅผ ์„ค์ •ํ•œ๋‹ค. 3. ํ•œ ์† Swipe Gesture ์„ค์ • setSwipeGesture() ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•ด viewDidLoad()์—์„œ ํ˜ธ์ถœํ•œ๋‹ค. ์ƒํ•˜์ขŒ์šฐ .. 2023. 1. 12.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0] ๋ฌธ์ž์—ด ๊ณ„์‚ฐํ•˜๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0 ๋ชจ์Œ ๋ฌธ์ž์—ด ๊ณ„์‚ฐํ•˜๊ธฐ ๋ฌธ์ œ ์„ค๋ช… my_string์€ "3 + 5"์ฒ˜๋Ÿผ ๋ฌธ์ž์—ด๋กœ ๋œ ์ˆ˜์‹์ž…๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด my_string์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ˆ˜์‹์„ ๊ณ„์‚ฐํ•œ ๊ฐ’์„ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”. ์ œํ•œ ์‚ฌํ•ญ ์—ฐ์‚ฐ์ž๋Š” +, -๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘๊ณผ ๋์—๋Š” ๊ณต๋ฐฑ์ด ์—†์Šต๋‹ˆ๋‹ค. 0์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ˆซ์ž๋Š” ์ฃผ์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž˜๋ชป๋œ ์ˆ˜์‹์€ ์ฃผ์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 5 ≤ my_string์˜ ๊ธธ์ด ≤ 100 my_string์„ ๊ณ„์‚ฐํ•œ ๊ฒฐ๊ด๊ฐ’์€ 1 ์ด์ƒ 100,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค. my_string์˜ ์ค‘๊ฐ„ ๊ณ„์‚ฐ ๊ฐ’์€ -100,000 ์ด์ƒ 100,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค. ๊ณ„์‚ฐ์— ์‚ฌ์šฉํ•˜๋Š” ์ˆซ์ž๋Š” 1 ์ด์ƒ 20,000 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค. my_string์—๋Š” ์—ฐ์‚ฐ์ž๊ฐ€ ์ ์–ด๋„ ํ•˜๋‚˜ .. 2023. 1. 12.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0] ๊ฐ€์žฅ ํฐ ์ˆ˜ ์ฐพ๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0 ๋ชจ์Œ ๊ฐ€์žฅ ํฐ ์ˆ˜ ์ฐพ๊ธฐ ๋ฌธ์ œ ์„ค๋ช… ์ •์ˆ˜ ๋ฐฐ์—ด array๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๊ฐ€์žฅ ํฐ ์ˆ˜์™€ ๊ทธ ์ˆ˜์˜ ์ธ๋ฑ์Šค๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ๋ณด์„ธ์š”. ์ œํ•œ ์‚ฌํ•ญ 1 ≤ array์˜ ๊ธธ์ด ≤ 100 0 ≤ array ์›์†Œ ≤ 1,000 array์— ์ค‘๋ณต๋œ ์ˆซ์ž๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ array result [1, 8, 3] [8, 1] [9, 10, 11, 8] [11, 2] ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ #1 1, 8, 3 ์ค‘ ๊ฐ€์žฅ ํฐ ์ˆ˜๋Š” 8์ด๊ณ  ์ธ๋ฑ์Šค 1์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ #2 9, 10, 11, 8 ์ค‘ ๊ฐ€์žฅ ํฐ ์ˆ˜๋Š” 11์ด๊ณ  ์ธ๋ฑ์Šค 2์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ์ถœ import Foundation func solution(_ array:[Int]) -> .. 2023. 1. 12.
Tap Touch Tap, Touch ํ„ฐ์น˜๋Š” ํ™”๋ฉด์„ ๋งŒ์ง€๋Š” ๋ชจ๋“  ํ–‰์œ„, ํƒญ์€ ํ™”๋ฉด์„ ํ†กํ†ก ๋‘๋“œ๋ฆฌ๋Š” ํ–‰์œ„ touch๋Š” ๋„ค ๊ฐ€์ง€ ์ƒํƒœ๋ฅผ ๊ฐ€์ง began์€ ํ„ฐ์น˜๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ, moved๋Š” ๋“œ๋ž˜๊ทธํ•ด์„œ ์›€์ง์ผ ๋•Œ, ended๋Š” ์†์„ ๋—„ ๋•Œ, canceled๋Š” ํ„ฐ์น˜๊ฐ€ ์ทจ์†Œ๋  ๋•Œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒ tap์€ toches ์„ธํŠธ ์•ˆ์— ํฌํ•จ๋จ 1. ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ผ label๊ณผ ํƒญ๊ณผ ํ„ฐ์น˜ ํšŸ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ผ label ์ถ”๊ฐ€ํ•œ๋‹ค. 2. ์•„์›ƒ๋ › ๋ณ€์ˆ˜ ์ถ”๊ฐ€ 3๊ฐœ์˜ label์— ๋Œ€ํ•œ ์•„์›ƒ๋ › ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. 3. ํƒญ, ํ„ฐ์น˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๊ฐ ํ„ฐ์น˜ ์ƒํƒœ์— ๋”ฐ๋ฅธ ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค. ๊ฐ ํ•จ์ˆ˜์—์„œ ํ˜„์žฌ ๋ฐœ์ƒํ•œ ์ด๋ฒคํŠธ์˜ ์ข…๋ฅ˜๋ฅผ ์ถœ๋ ฅํ•œ ํ›„, ํ„ฐ์น˜์˜ ๊ฐœ์ˆ˜์™€ ํƒญ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. 4. ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ํ™•์ธ ํ™”๋ฉด์„ ํƒญ ํ•˜๋ฉด tapCount๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉฐ, touchC.. 2023. 1. 11.
๋ฐ˜์‘ํ˜•