๋ชฉ๋ก์ ์ฒด ๊ธ (454)
Bibi's DevLog ๐ค๐
14924๋ฒ: ํฐ ๋ ธ์ด๋ง๊ณผ ํ๋ฆฌ 9469๋ฒ: ํฐ ๋ ธ์ด๋ง ์ฒ์ ํ๋ ค๋ ๋ฌธ์ ๋ 9469๋ฒ์ด๊ณ , ๋ฌดํ๊ธ์ ์ด์ผ๊ธฐ๊ฐ ๋์ค๊ธธ๋ ‘์ด๊ฑด ์ํ ๊ณต์์ด ํ์ํ๊ฐ ๋ณด๊ตฐ’ ํ๋ฉฐ ์กฐ๊ธ ๊ณ ๋ฏผํ๋ค๊ฐ ๊ตฌ๊ธ๋ง์ ํ๋ค. ๊ทธ๋ฌ๋๋ ๋์จ ๊ฒ์ด ๋ ์น์ ํ 14924๋ฒ ๋ฌธ์ ..๐ชฐ 14924๋ฒ ๋ฌธ์ ๋ฅผ ๋ณด๋ฉด ์ด๋ป๊ฒ ํ๋ฉด ๋๋์ง ์น์ ํ๊ฒ ์๋ ค์ค๋ค. ๋ ๊ธฐ์ฐจ๊ฐ ๋ง๋๋ ์๊ฐ์ ๊ตฌํ๋ค. ์๊ฐ = ์ด ๊ฑฐ๋ฆฌ / (๊ธฐ์ฐจA์ ์๋ ฅ + ๊ธฐ์ฐจB์ ์๋ ฅ) ์ฃผ์ด์ง ํ๋ฆฌ์ ์๋ ฅ์ ์ด์ฉํด ํ๋ฆฌ์ ์ด๋๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ค. ๊ฑฐ๋ฆฌ = 1.์์ ๊ตฌํ ์๊ฐ * ํ๋ฆฌ์ ์๋ ฅ 14924๋ฅผ ํ๊ณ ๋๋ฉด 9469๋ฒ๋ ํ ์ ์๋ค. ๋ ๊ธฐ์ฐจ์ ์๋ ฅ์ด ๋ค๋ฅด๋ฏ๋ก *2ํ์ง ์๊ณ ๋ํด์ผ ํ๋ค๋ ๊ฒ๋ง ์ ์ํ๋ฉด ๋๋ค. ์ถ๋ ฅ ์ ์์์ 6์งธ์๋ฆฌ๊น์ง๋ง ์ถ๋ ฅํ๋ ๋ฐฉ๋ฒ์ String(format:_:) ์ ์ด..
9094๋ฒ: ์ํ์ ํธ๊ธฐ์ฌ ๋ฒ์๊ฐ ํฌ์ง ์๊ณ (0…100) ์ ์ํ์ด๋ฏ๋ก ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ณ์ฐํ๋ค. Int์ธ Double ํ๋ณ, ์ฆ Double์ ์์์ ์ดํ๊ฐ 0์ธ์ง ์๋์ง ํ๋ณํ๊ธฐ๋ ์ฌ๊ธฐ์ ๋ฐ๋ก ์ ๋ฆฌํด ๋์๋ค. ํ์ด (69104KB, 108ms) let count = Int(readLine()!)! (1...count).forEach { _ in let input = readLine()!.split(separator: " ").map { Int($0)! } let n = input[0] let m = input[1] var pairs = 0 (1..
6.5 ์ฒ๋ผ ์์์ ์ด ์กด์ฌํ๋ Double ์๋ฃํ์ ๊ฐ์ ๋ํด, ์์์ ์ดํ๊ฐ 0์ธ์ง ์๋์ง ํ๋ณํ๊ณ ์ถ์ ๋ ๋ฐฉ๋ฒ์ ์ฐพ์๋ณด์๋ค. 6.5 : ์์์ ์ดํ๊ฐ 0์ด ์๋ (false) 6.0 : ์์์ ์ดํ๊ฐ 0์ (true Checking if a double value is an integer - Swift ์ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ๋ฉด ์์ ์๋ฏ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ด ์์ง๋ง.. ์ต๋ํ ๋ถ์์ฉ์ด ์์ด ๋ณด์ด๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํด ๋ดค๋ค. Dobule์ด Double → Int → Double ๋ก ํ๋ณํํ ๊ฐ๊ณผ ๊ฐ์์ง ํ์ธ I suggest converting the value to Int then to Double and checking the new value if value == Double(Int(value)) { // The..
9076๋ฒ: ์ ์ ์ง๊ณ ํ์ด ์์ฒด๋ ์ด๋ ต์ง ์์ผ๋, ArraySlice(SubSequence)์ ๋ํด ์๊ฒ ๋ ๋ฌธ์ . ArraySlice์ ๋ํ ๊ธ์ ์ฌ๊ธฐ์ ๋ฐ๋ก ์์ฑํ์ต๋๋ค. ํ์ด let count = Int(readLine()!)! (1...count).forEach { num in let inputArr = readLine()!.split(separator: " ").map { Int($0)! }.sorted() let newArr = Array(inputArr[1...3]) // ์ ๋ฐฐ์ด์ ๋ง๋ค์ด ์ฌ์ฉ if newArr[2] - newArr[0] >= 4 { print("KIN") } else { print(newArr.reduce(0, +)) } } let count = Int(readLine(..
Apple Developer Documentation ArraySlice๋ Array์ SubSequence์ด๋ค. SubSequence๋ Collection ํ๋กํ ์ฝ์์ associatedType์ผ๋ก ์๊ตฌํ๋ ๊ฒ Array.SubSequence๋ ArraySlice์ typealias์ด๋ค. https://developer.apple.com/documentation/swift/array/subsequence ๊ฐ์ ArraySlice๋ ํฐ ๋ฐฐ์ด์ ๋ถ๋ถ์ ๋ํ ์ฐ์ฐ์ ๋น ๋ฅด๊ณ ํจ๊ณผ์ ์ผ๋ก ์ํํ๋๋ก ๋์์ค๋ค. ๋ฐฐ์ด์ ์์๋ค์ ์๋ก์ด ๊ณต๊ฐ์ ๋ณต์ฌํ๋ ๋์ , ArraySlice๋ ์ ์ฅ๋ ๋ฐฐ์ด์ ๋ํ ์ฐธ์กฐ๋ฅผ ๋ํ๋ด๊ธฐ ๋๋ฌธ์ด๋ค. Array์ ๋์ผํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ฏ๋ก, ์ผ๋ฐ์ ์ผ๋ก ์๋ณธ ๋ฐฐ์ด๊ณผ ๋๊ฐ์ ์ฐ์ฐ์ slice..
์ฐธ๊ณ ๋ฌธ์ : [DI] DI Container, IOC Container ๊ฐ๋ ๊ณผ ์์ DIContainer๋? DI = Dependency Injection ์์กด์ฑ ์ฃผ์ ๋ฐ์์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด ์ฃผ์ ํด์ฃผ๋ ๊ฒ Container : ๋ชจ๋ ์ธ์คํด์ค๋ฅผ ๊ฐ์ง๊ณ ๊ด๋ฆฌํ๋ ๊ฐ์ฒด. register : ๋ด๊ฐ ์ฌ์ฉํ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด ๋ฑ๋ก resolve : ํ์ํ ์ธ์คํด์ค๋ฅผ ๋ฌ๋ผ๊ณ ์์ฒญ ์ฆ DIContainer๋ ์์กด์ฑ ์ฃผ์ ์ ํ์ํ ๊ฐ์ฒด๋ค์ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ ์ญํ ์ ํ๋ค. ์ ํ์ํ๊ฐ? ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ์ค๋ณต์ฝ๋๊ฐ ๋ง์์ง ๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ํ์ํ ํ๋ผ๋ฏธํฐ๊ฐ ๋ง์ ๋ ์ฌ์ฉ๋ฐฐ๊ฒฝ ํ๋ก์ ํธ๋ฅผ ํ๋ฉฐ ์ด๋ค ๊ฐ์ฒด๊ฐ ํ์ํ ๋, ์์ฑ์๋ก ์ฑ์ ์ฌ๊ธฐ์ ๊ธฐ์์ ๋ฌด๋ถ๋ณํ๊ฒ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ์์๋ค. ๋, ์ด๋ฏธ ์์ฑํ๋ ์์ ๊ณผ ์์น๋ฅผ ๋ชจ๋ฅด๊ณ ..
์ฐธ๊ณ ํ ๋ฌธ์ The ultimate guide to Timer Apple Developer Documentation Why would a scheduledTimer fire properly when setup outside a block, but not within a block? Swift์์ ์ง์ฐ์๊ฐ์ ๋๊ณ ์ฝ๋๋ฅผ (๋ฐ๋ณต)์คํํ๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ ๋ ๊ฐ์ง๊ฐ ์๋๋ฐ, Timer์ DispatchQueue.main.asyncAfter ์ด๋ค. Note: Before I start, I want to make it clear that there is a significant energy cost to using timers. We’ll look at ways to mitigate this, but broadly..
7510๋ฒ: ๊ณ ๊ธ ์ํ ํผํ๊ณ ๋ผ์ค ์ ๋ฆฌ : ๋น๋ณ์ ๊ธธ์ด์ ์ ๊ณฑ์ ๋๋จธ์ง ๋ ๋ณ์ ๊ธธ์ด๋ฅผ ์ ๊ณฑํ ๋ค ๋ํ ๊ฒ๊ณผ ๊ฐ๋ค. ์ธ ๋ณ์ ๊ธธ์ด a, b, c ๊ฐ ์ฃผ์ด์ง ๋ (c๊ฐ ๋น๋ณ) c์ ๊ณฑ = a์ ๊ณฑ + b์ ๊ณฑ. c๋ ๋น๋ณ์ด๋ฏ๋ก ์ฃผ์ด์ง ์ธ ๋ณ ์ค ๊ฐ์ฅ ๊ธธ์ด๊ฐ ๊ธธ๋ค. ์ถ๋ ฅ ํ์์ ์ ์ํ์ (์๋๋ฆฌ์ค ์ฌ์ด์ ๊ณต๋ฐฑ์ ์ถ๋ ฅํด์ผ ํจ) ํ์ด import Foundation let count = Int(readLine()!)! (1...count).forEach { num in var arr = readLine()!.split(separator: " ").map { Double($0)! } arr = arr.sorted() print("Scenario #\(num):") if pow(arr[2], 2) == pow(arr[0..