https://school.programmers.co.kr/learn/courses/30/lessons/178870
import Foundation
func solution(_ sequence:[Int], _ k:Int) -> [Int] {
var start = 0, end = 0
var sum = sequence.first!
var answer = [0, sequence.count]
while start < sequence.count {
if sum == k {
if end-start < answer[1]-answer[0] {
answer = [start, end]
}
if end + 1 < sequence.count {
end += 1
sum += sequence[end]
} else {
break
}
}
else if sum < k {
if end + 1 < sequence.count {
end += 1
sum += sequence[end]
} else {
break
}
}
else {
sum -= sequence[start]
start += 1
}
}
return answer
}
[프로그래머스] 큰 수 찾기 (0) | 2024.03.05 |
---|---|
[프로그래머스] 삼각 달팽이 (0) | 2024.03.04 |
[소프티어] 택배 마스터 광우 (0) | 2024.02.01 |
Algorithm with python (1) | 2024.02.01 |
[소프티어] 스마트 물류 (0) | 2024.02.01 |