๋ชฉ๋ก์ ์ฒด ๊ธ (454)
Bibi's DevLog ๐ค๐
Apple Developer Documentation Data Structure in Swift (iOS) - Part 1 ์ ๋ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํด ์์ฑํ์ต๋๋ค. Dictionary ๋์ ๋๋ฆฌ : ํค-๊ฐ ์์ ์์๋ก ๊ฐ๋ ์ปฌ๋ ์ . @frozen struct Dictionary where Key : Hashable ์๊ฐ ๋์ ๋๋ฆฌ๋ ํด์ ํ ์ด๋ธ์ ์ผ์ข ์ด๋ค. (๋ค๋ฅธ ์ธ์ด์์๋ hashes ๋ associated arrays๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค) ํญ๋ชฉ๋ค์ ๋ํ ๋น ๋ฅธ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค ๋์ ๋๋ฆฌ์ ๊ฐ ํญ๋ชฉ์ ํคkey๋ฅผ ํตํด ๊ตฌ๋ณ๋๋ฉฐ, ํค์ ์์ํ๋ ๊ฐvalue์ ๊ฐ์ง๋ค. ํค๋ hashableํ ํ์ ์ด์ด์ผ ํ๋ค. Hashable ํ๋กํ ์ฝ์ ์ค์ํ๋ ๋ชจ๋ ํ์ ์ ํค๊ฐ ๋ ์ ์๋ค. ํค๋ ์์ํ๋ ๊ฐ์ ์ฐพ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. ๊ฐ์ ์ด๋ค..
Apple Developer Documentation https://nitinagam17.medium.com/data-structure-in-swift-ios-part-1-305dd33e19f5 ์์ ๋ ๋ฌธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ๋ฆฌํ์ต๋๋ค. Array ๋ฐฐ์ด : ์์๊ฐ ์๊ณ ์์ ์ ๊ทผ์ด ๊ฐ๋ฅํ ์ปฌ๋ ์ (๊ฐ์ ๋ชจ์). ๊ฐ์ฅ ํํ๊ฒ ์ฐ๋ ๋ฐ์ดํฐ ํ์ ์ด๋ค. Array An ordered, random-access collection. @frozen struct Array Array : ๋จ์ผ ํ์ ์ ์์๋ค์ ๋ด์ Element : Array ๋ด๋ถ์ ์์์ ํ์ ์์ฑ let nameArray = ["Alex", "Martin", "Harry"] let oddNumbers = [1, 3, 5, 7, 9, 11, 13, 15]..
LinkedList ํ์ node(at:) : ๋ฆฌ์คํธ์ ํน์ ์์น์ ๋ ธ๋ ์ฐพ๊ธฐ. O(i) count() : ๋ฆฌ์คํธ์ ๋ ธ๋์ ์ ๋ฐํ. O(n) ์ฝ์ push(_:) : ๋ฆฌ์คํธ์ ๋งจ ์์ ๋ ธ๋ ์ฝ์ . O(1) append(_:) : ๋ฆฌ์คํธ์ ๋งจ ๋ค์ ๋ ธ๋ ์ฝ์ . O(1) insert(_:after:) : ๋ฆฌ์คํธ์ ํน์ ์ธ๋ฑ์ค์ ๋ ธ๋ ์ฝ์ . O(n) ์ญ์ pop() : ๋ฆฌ์คํธ์ ๋งจ ์์ ๋ ธ๋ ์ญ์ . O(1) removeLast() : ๋ฆฌ์คํธ์ ๋งจ ๋ค์ ๋ ธ๋ ์ญ์ . O(n) remove(after:) : ๋ฆฌ์คํธ์ ํน์ ์ธ๋ฑ์ค์ ๋ ธ๋ ์ญ์ . O(n) removeAll() : ๋ฆฌ์คํธ์ ๋ชจ๋ ๋ ธ๋ ์ญ์ . O(1) import Foundation class Node: CustomStringConvertible, Eq..
10101๋ฒ: ์ผ๊ฐํ ์ธ์ฐ๊ธฐ ์ฃผ์ด์ง ๋๋ก ์ถ๋ ฅ์ ๊ตฌํํ๋ฉด ๋๋ ๊ฐ๋จํ ๋ฌธ์ ์ด๋ค. ํ์ด1 (69100KB, 8ms) var triangleArray = Array() (1...3).forEach { _ in triangleArray.append(Int(readLine()!)!) } if triangleArray.reduce(0, +) == 180 { if triangleArray[0] == triangleArray[1] && triangleArray[1] == triangleArray[2] { print("Equilateral") } else if triangleArray[0] == triangleArray[1] || triangleArray[1] == triangleArray[2] || triangleA..
์ด์ฝํ (์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค) ๊ตฌํ ์์ ์ค ํ๋. (113ํ์ด์ง) 18312๋ฒ: ์๊ฐ 0-n์, 0-59๋ถ, 0-59์ด ์ฌ์ด์ ๋ชจ๋ ์๊ฐ์ ์ดํด๋ด์ผ ํ๋ฏ๋ก 3์ค ๋ฐ๋ณต๋ฌธ์ผ๋ก ๊ตฌํ๋ค. ์ฃผ์ํ ์ ์, ํ ์๋ฆฌ ์ซ์์ผ ๋ ์์ 0์ด ์๊ธฐ๋ ๊ฒ๊น์ง ๊ณ ๋ คํด์ผ ํ๋ค๋ ๊ฒ์ด๋ค. ๊ทธ๋์ผ K๊ฐ 0์ธ ๊ฒฝ์ฐ๋ฅผ ๋์น์ง ์๊ณ ์ ์ ์๋ค. ๋๋ appendZero๋ผ๋ ๋ณ๋ ํจ์๋ก ๋ถ๋ฆฌํ๋ค. ํ์ด1(69104KB, 56ms) let input = readLine()!.split(separator: " ") let n = Int(input[0])! let k = Character(String(input[1])) var answer = 0 func appendZero(to num: Int) -> String { var answer ..
‘์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค’ ๊ตฌํ - 4-2. ์์ค์ ๋์ดํธ ๋ฌธ์ (115ํ์ด์ง) ๋์ดํธ์ ํ์ฌ ์์น๊ฐ “a1”๊ณผ ๊ฐ์ด ์ฃผ์ด์ก์ ๋, ์์ง์ผ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ . ๋์ดํธ๊ฐ ์์ง์ผ ์ ์๋ ์ต๋ ๊ฒฝ์ฐ์ ์๋ 8๊ฐ์ง์ด๋ค. ํ์ง๋ง ์์ง์ด๋ค๊ฐ ์ฒด์คํ(8*8) ๋ฐ์ผ๋ก ๋จ์ด์ง๋ ๊ฒฝ์ฐ๋ ์์ง์ผ ์ ์๋ ๊ฒฝ์ฐ๋ก ํ์ฌ ์ ์ธํ๊ณ , ๋๋จธ์ง ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๋ฉด ๋๋ค. ๋๋ ๊ท์น๋๋ก ์์ง์ธ ๋์ดํธ์ ์์น๊ฐ 1~8 ๋ฒ์ ๋ด์ ์์ ๋๋ง ์นด์ดํธํ๊ณ , ๊ทธ ์ดํฉ์ ์ถ๋ ฅํ๋ค. a=1, b=2, … ๋ก ๋ณํํ๊ธฐ ์ํด์๋ ์์คํค์ฝ๋๋ฅผ ์ฌ์ฉํ๋ค. (์ฐธ๊ณ - ๋งํฌ) ํ์ด func implementation2(position: String) -> Int { let positionX = Int(position.first!.asciiVa..
9501๋ฒ: ๊ฟ์ ์ฐ์ฃผ์ฌํ ์ฐ์ฃผ์ ์ด ๋ ์ ์๋ ๊ฑฐ๋ฆฌ = ์ฐ์ฃผ์ ์ ์ต๊ณ ์๋ * (์ฐ์ฃผ์ ์ ์ฐ๋ฃ์ / ์ฐ์ฃผ์ ์ ์ฐ๋ฃ์๋น์จ) ์ฐ์ฃผ์ ์ด ๋ ์ ์๋ ๊ฑฐ๋ฆฌ๊ฐ ๋ชฉ์ ์ง๊น์ง์ ๊ฑฐ๋ฆฌ๋ณด๋ค ๊ธธ๊ฑฐ๋ ๊ฐ๋ค๋ฉด ๋ชฉ์ ์ง๊น์ง ๊ฐ ์ ์์ผ๋ฏ๋ก, ๋ต์ +1์ ํ๋ฉด ๋๋ค. ์ด ๋ Int๋ผ๋ฆฌ ๋๋๋ฉด ์์์ ์ดํ ๊ฐ์ ๋ฒ๋ฆฌ๋ฏ๋ก, Double๋ผ๋ฆฌ ๋๋์ด ํ๋จํด์ผ ์ ํํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ค. ํ์ด let count = Int(readLine()!)! (1...count).forEach { _ in let inputArr = readLine()!.split(separator: " ").map { Int($0)! } let spaceshipCount = inputArr[0] let distance = inputArr[1] var answer = ..
navigationController.viewControllers Apple Developer Documentation ํ์ฌ navigation stack์ ์กด์ฌํ๋ VC๋ค์ ๋ํ๋ธ๋ค. rootVC๋ 0๋ฒ์งธ ์ธ๋ฑ์ค ์์ ๋งจ ์์ ์์ธ VC๋ ๋งจ ๋ ์ธ๋ฑ์ค์ ์์ (index n-1) back view๋ index n-2 ํด๋น ํ๋กํผํฐ์ ์ ๋ทฐ์ปจ ๋ฐฐ์ด์ ํ ๋นํ๋ ๊ฒ์, setViewControllers(_:animated:) ๋ฅผ ํธ์ถํ๋ ๊ฒ๊ณผ ๊ฐ๋ค. self.navigationController.viewControllers = [issueVC] ์ ๊ฐ์ด ํ ๋นํ๋ฉด, ๊ธฐ์กด์ ์กด์ฌํ๋ navigation stack์ ๋ฌด์ํ๊ณ ์ ๋ทฐ์ปจ์ ํ ๋น ๋ฐ๋ผ์ ๋ค์ ํ๋ฉด์ผ๋ก ๋์ด๊ฐ๋ back๋ฒํผ์ด ์กด์ฌํ์ง ์๋๋ค ์? ๊ธฐ์กด..