728x90
반응형
SMALL
https://developer.apple.com/documentation/swift/collections
to가 있고, through 이 있습니다 :)
to는 마지막 값을 포함하지 않고, through는 마지막값을 포함한다고 되어 있네요.
from은 시작 to, through는 마지막, by는 간격이 되겠습니다! :) 앞으로는 stride에 적응하는 시간을 가져야할 것 같습니다.
오히려 숙달되면 편할 것 같아유. 처음 where 문을 접했을 때도 너무 신기했던 것 처럼 흥미를 느끼고 있습니다.
예를들어, 최근 푼 문제 (20500 - Ezreal 여눈부터 가네 ㅈㅈ) https://www.acmicpc.net/problem/20500 에 대입하면
기존 코드
import Foundation
func generateTable(_ num: Int) -> [Int] {
if num <= 4 { return [0, 1, 1, 3]}
var table = Array(repeating: 0, count: num + 1)
table[0...4] = [0, 1, 1, 3]
for idx in 4..<table.count {
var differenceValue = table[idx - 2] - table[idx - 4]
if differenceValue < 0 {
differenceValue += 1000000007
}
table[idx] = (table[idx - 2] + (differenceValue) * 4) % 1000000007
}
return table
}
let num = Int(readLine()!)
let table = generateTable(num!)
print(table[num! - 1])
stride(from:, to:, by:)
import Foundation
func generateTable(_ num: Int) -> [Int] {
if num <= 4 { return [0, 1, 1, 3]}
var table = Array(repeating: 0, count: num + 1)
table[0...4] = [0, 1, 1, 3]
for idx in stride(from: 4, to: table.count, by: 1) {
var differenceValue = table[idx - 2] - table[idx - 4]
if differenceValue < 0 {
differenceValue += 1000000007
}
table[idx] = (table[idx - 2] + (differenceValue) * 4) % 1000000007
}
return table
}
let num = Int(readLine()!)
let table = generateTable(num!)
print(table[num! - 1])
stride(from:, through:, by:)
import Foundation
func generateTable(_ num: Int) -> [Int] {
if num <= 4 { return [0, 1, 1, 3]}
var table = Array(repeating: 0, count: num + 1)
table[0...4] = [0, 1, 1, 3]
for idx in stride(from: 4, through: table.count - 1, by: 1) {
var differenceValue = table[idx - 2] - table[idx - 4]
if differenceValue < 0 {
differenceValue += 1000000007
}
table[idx] = (table[idx - 2] + (differenceValue) * 4) % 1000000007
}
return table
}
let num = Int(readLine()!)
let table = generateTable(num!)
print(table[num! - 1])
가 되겠네요:)
728x90
반응형
LIST
'iOS' 카테고리의 다른 글
AccessToken, RefreshToken (0) | 2024.04.15 |
---|---|
Thread - 01 (0) | 2023.07.23 |
SwiftUI로 네이버 탭바 흉내나기 (0) | 2023.07.09 |
DDD 중간 회고 feat. ( fastlane, slack, jira, tuist ) (1) | 2023.07.09 |
SwiftUI CustomSlidebar (0) | 2023.06.24 |