๋ชฉ๋ก์ ์ฒด ๊ธ (454)
Bibi's DevLog ๐ค๐
์ด ๊ธ์ ์๋ ๋งํฌ ์๋ฌธ์ ๋ฒ์ญ๋ณธ์ ๋๋ค. https://iharishsuthar.github.io/posts/swift-date/ Swift Date ์บ๋ฆฐ๋๋ time zone์ ๋ ๋ฆฝ์ ์ธ ์๊ฐ์ ํน์ ์ง์ . Date & Time Swift์์ Date() ์ ๊ฐ์ ์๊ฐ์ ๋จ์ผ ์์ (a single point in time) ์ ์บก์ํํฉ๋๋ค. ์ด๊ฒ์ ํน์ ์๊ฐ๋(time zone)๋ ๋ฌ๋ ฅ ์์คํ (calendarical system)์ ๋ ๋ฆฝ์ ์ ๋๋ค. ์ด๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด, Date() ๊ฐ์ January 1, 2001 at 00:00:00 UTC ๋ผ๋ ๊ธฐ์ค ๋ ์ง๋ก๋ถํฐ ์๋์ ์ธ ์คํ์ ์ผ๋ก ์ด ์๋ฅผ ์ธ๋ 64๋นํธ ๋ถ๋์์์ ์ซ์๋ก์ ์ ์ฅ๋ฉ๋๋ค. Date ํ์ ์ Foundation ํ๋ ์์ํฌ์ ์ผ๋ถ์ ๋๋ค. ๋ฐ๋ผ์ ..
https://docs.swift.org/swift-book/documentation/the-swift-programming-language/concurrency/ ์ ๊ณต์๋ฌธ์๋ฅผ ๋ฒ์ญํ ๋ด์ฉ์ ๋๋ค. ๋์์ฑ : ๋น๋๊ธฐ ์์ ์ํํ๊ธฐ. ๋ณ๋ ฌ(parallel) ๋๋ ๋น๋๊ธฐ(asynchronous) ์ฝ๋๋ ๋ณต์ก๋ ์ฆ๊ฐ๋ผ๋ ๋น์ฉ์ ๊ฐ์ ธ์จ๋ค. Swift์์๋ ์ปดํ์ผ ํ์ ๊ฒ์ฌ๊ฐ ๊ฐ๋ฅํ ๋ฐฉ์์ผ๋ก ๊ฐ๋ฐ์์ ์๋๋ฅผ ํํํ ์ ์๋ค - ์๋ฅผ ๋ค์ด actor๋ฅผ ์ฌ์ฉํด mutable state์ ์์ ํ๊ฒ ์ ๊ทผํ ์ ์๋ค. Swift๋ ์ธ์ด ์์ค์์ ๋น๋๊ธฐ ์ฝ๋์ ๋ฌธ์ ๋ฅผ ์ปดํ์ผ ํ์์ ์ก์ ์ ์๋๋ก ๋๋๋ค. Swift์ ๋์์ฑ ๋ชจ๋ธ์ ์ฐ๋ ๋ ์์ ๊ตฌ์ถ๋์ง๋ง, ์ฐ๋ ๋์ ์ง์ ์ํธ์์ฉํ์ง๋ ์๋๋ค. completion handl..
19572๋ฒ: ๊ฐ๋ญ(Small) 1๋ฒ, 2๋ฒ, 3๋ฒ ์นธ์ผ๋ก ๊ตฌ์ฑ๋ ๋ ์ ๋น๋ฅผ ๋ด๋ฆฐ๋ค. ๊ฐ ์นธ์ ํด๋นํ๋ ๊ฐ์๋์ ์ ํํ d1, d2, d3์ด ๋์ด์ผ ํ๋ค. (1≤d1, d2, d3≤10์6์น) ๊ตฌํด์ผ ํ๋ ๊ฒ์ a, b, c์ด๋ฉฐ (a, b, c๋ ์์ ์ค์) a๋ 1๋ฒ ์นธ๊ณผ 2๋ฒ ์นธ์ ๋ฟ๋ฆฌ๋ ๊ฐ์๋์, b๋ 1๋ฒ ์นธ๊ณผ 3๋ฒ ์นธ์ ๋ฟ๋ฆฌ๋ ๊ฐ์๋์, c๋ 2๋ฒ ์นธ๊ณผ 3๋ฒ ์นธ์ ๋ฟ๋ฆฌ๋ ๊ฐ์๋์ ์๋ฏธํ๋ค. ํ์ด ํผ์์ ํ์ด๋ณด๋ค๊ฐ ํ์ด๋ฒ์ด ๋ ์ค๋ฅด์ง ์์์ ๊ตฌ๊ธ๋ง์ ํ๋ค.๐ฅฒ ๊ทธ๋ฆฌ๋๋ ์๋ฎฌ๋ ์ด์ ์ผ๋ก ๊ตฌํ๋ ค๊ณ ์ ๊ทผํ๋๋ฐ, ์ผ์ฐจ๋ฐฉ์ ์์ ์ฌ์ฉํด ์ํ์ ์ผ๋ก ํ์ด๋ด์ผ ํ๋ ๋ฌธ์ ์๋ค. ์ฃผ์์ฌํญ ์ผ์ฐจ๋ฐฉ์ ์์ ๊ตฌํ ๋ ์ฃผ์ํ ์ ์, a = d1 + d2, b = d1 + d3, c = d2 + d3 ์ด๋ฐ ์์ผ๋ก ๊ตฌํ๋ฉด ์๋๋ค๋ ๊ฒ..
๋ฌธ์ 16435๋ฒ: ์ค๋ค์ดํฌ๋ฒ๋ ์ค๋ค์ดํฌ๋ฒ๋๊ฐ ๊ณต์ค์ ๋ฌ๋ฆฐ ๊ณผ์ผ์ ๋จน์ ๋ ๋ง๋ค 1๋งํผ ๊ธธ์ด๊ฐ ์ฆ๊ฐํ๋ค. ์ค๋ค์ดํฌ๋ฒ๋๋ ์์ ์ ๋ชธ ๊ธธ์ด๋ณด๋ค ๋ฎ๊ฑฐ๋ ๊ฐ์ ๋์ด์ ์๋ ๊ณผ์ผ๋ง ๋จน์ ์ ์๋ค. ์ค๋ค์ดํฌ๋ฒ๋์ ๋ชธ ๊ธธ์ด์ ๊ณผ์ผ๋ค์ ๋์ด๊ฐ ์ฃผ์ด์ก์ ๋, ์ค๋ค์ดํฌ๋ฒ๋๊ฐ ์ต๋๋ก ๋๋ฆด ์ ์๋ ๋ชธ์ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ค. ํ์ด ๊ณผ์ผ ๋ฐฐ์ด์ ์ํ๊ฐ ์ฝ๋๋ก, ์ฃผ์ด์ง๋ ๊ณผ์ผ ๋ฐฐ์ด์ ์ ๋ ฌํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ด๊ฐ ๋ฎ์ ๊ณผ์ผ ์์๋ถํฐ ํ์ฌ์ ๋ชธ ๊ธธ์ด์ ๋น๊ตํ๋ค. ๊ณผ์ผ์ด ๋ชธ ๊ธธ์ด๋ณด๋ค ๋์ด ์์ด์ ๋จน์ ์ ์๊ฒ ๋๋ฉด, ์ ๋ ฌ๋ ๊ณผ์ผ ๋ฐฐ์ด์์๋ ์ดํ ๋น๊ต๋ ์๋ฏธ๊ฐ ์์ผ๋ฏ๋ก ๋ฐ๋ณต๋ฌธ์ ํ์ถํ๋ค. ๊ณผ์ผ์ ๋จน์ ์ ์๋ ๋ชธ ๊ธธ์ด๋ผ๋ฉด ๋ชธ ๊ธธ์ด์ 1์ ๋ํ๊ณ ๋ค์ ๋น๊ต๋ฅผ ๊ณ์ ์งํํ๋ค. let inputArr = readLine()!.split(separat..
16199๋ฒ: ๋์ด ๊ณ์ฐํ๊ธฐ ์ด๋ค ์ฌ๋์ ์์ผ๊ณผ ๊ธฐ์ค ๋ ์ง๊ฐ ์ฃผ์ด์ก์ ๋, ๊ธฐ์ค ๋ ์ง ์์ ์ ๊ทธ ์ฌ๋์ ๋์ด๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ๋ง ๋์ด ํ์ด๋ ๋๋ 0์ด์ด๋ค. ์์ผ์ด ๋ ๋ 1์ด์ ๋จน๋๋ค. ์ด๋, ์์ผ ๋น์ผ๋ถํฐ 1์ด์ ๋ํ๋ค. 2002๋ 3์ 5์ผ์ด ์์ผ์ธ ์ฌ๋์ 2003๋ 3์ 5์ผ๋ถํฐ 1์ด์ด ๋๋ค. ์ธ๋ ๋์ด (ํ๊ตญ์ ๋์ด ๊ณ์ฐ) ํ์ด๋ ๋๋ 1์ด์ด๋ค. ์ฐ๋๊ฐ ๋ฐ๋๋ฉด 1์ด์ ๋จน๋๋ค. ์ฐ ๋์ด ํ์ด๋ ๋๋ 0์ด์ด๋ค. ์ฐ๋๊ฐ ๋ฐ๋๋ฉด 1์ด์ ๋จน๋๋ค. ํ์ด ์ธ๋ ๋์ด๋ ๊ธฐ์ค์ฐ๋ - ์์ผ์ฐ๋ + 1 ๋ก, ์ฐ ๋์ด๋ ๊ธฐ์ค์ฐ๋ - ์์ผ์ฐ๋ ๋ก ๊ฐ๋จํ ๊ตฌํ ์ ์๋ค. ๋ฌธ์ ๋ ๋ง ๋์ด๋ค. ํ์ด๋ ๋ 0์ด ์์ผ์ด ์ง๋ ๋๋ง๋ค 1์ด์ ๋จน๋๋ค. ๊ธฐ์ค์ฐ๋์ ์์ด ๋ ํฐ ๊ฒฝ์ฐ = ์์ผ์ด ์ง๋ ๊ฒ ๊ธฐ์ค์ฐ๋์ ์์ ๊ฐ์ง๋ง ์ผ์..
16171๋ฒ: ๋๋ ์น๊ตฌ๊ฐ ์ ๋ค (Small) ๋ฌธ์์ด S์ ๋ฌธ์์ด K๊ฐ ์ฃผ์ด์ง ๋, S์์ ์ซ์๋ค์ ๊ฑธ๋ฌ๋ธ ๊ฒฐ๊ณผ์ K๊ฐ ์๋์ง ํ์ธํ๋ ๋ฌธ์ ์ด๋ค. ์์ผ๋ฉด 1, ์์ผ๋ฉด 0์ ์ถ๋ ฅํ๋ค. ํ์ด import Foundation let input = readLine()! let keyword = readLine()! let filteredInput = input.filter { $0.isLetter } filteredInput.contains(keyword) ? print(1) : print(0) filter๋ก isLetter์ธ์ง ํ์ธ ํ ๋ฌธ์๋ง ๊ฑธ๋ฌ๋ธ๋ค. contains๋ก ํค์๋๊ฐ ์๋์ง ํ์ธํ๋ค. ์ด ํ์ด์์ ์ ์ํ ์ ์ import Foundation์ด ์์ผ๋ฉด ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค๋ ๊ฒ์ด๋ค. ์์ง ์ด์ ๋ ..
global์ ๊ธฐ๋ณธ ๋์์ lazy Swift Language Guide - Properties - Global and Local Variables ์ค… Swift Language Guide - Properties ์ค. Global constants and variables are always computed lazily, in a similar manner to Lazy Stored Properties. Unlike lazy stored properties, global constants and variables don’t need to be marked with the lazy modifier. Local constants and variables are never computed lazily. ์ ์ญ..
What Is a Singleton and How To Create One In Swift Are Singletons Bad ์ด ๊ธ์ ์์ ๋ ๋ฌธ์์ ๊ธฐ๋ฐํ์ฌ ์ง์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.๐ท ์ฑ๊ธํค ํจํด์ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๋งค์ฐ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋์์ธ ํจํด์ด์ง๋ง, ์ํฐํจํด์ผ๋ก ๊ณ ๋ ค๋์ด์ง๋ค. ๊ทธ ์ด์ ๋ฅผ ์ดํด๋ณด์. ์ฑ๊ธํค ํจํด์ด๋ ๋ฌด์์ธ๊ฐ ์ฑ๊ธํค ํจํด์ ํด๋์ค์ ์ธ์คํด์ค๊ฐ ๋จ ํ๋๋ง ์์ฑ๋๋๋ก ํ๋ ํจํด์ด๋ค. ํ๋ก๊ทธ๋จ์์ ์ด๋ค ์์ ์์๋ ๊ทธ ํด๋์ค์ ์ธ์คํด์ค๋ ๋ฑ ํ๋๋ง ์กด์ฌํ๋๋ก ๋ณด์ฅํ๋ ๊ฒ์ด ์ฑ๊ธํค ํจํด์ ๋ชฉ์ ์ด๋ค. ์๋ฅผ ๋ค๋ฉด, ์ ํ์ ํ๋ ์์ํฌ์์๋ ์๋์ ๊ฐ์ ๊ฐ์ฒด๋ค์ด ์ฑ๊ธํค์ผ๋ก ์ฌ์ฉ๋๋ค. // Shared URL Session let sharedURLSession = URLSession.shared // D..