728x90
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
분석
[1253] 좋다 (좋은 수 구하기, 투 포인터)
1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 분석 투 포인터 이동원칙 A[i] + A[j] > K : j--; A
karla.tistory.com
풀이
import sys
def solution(sequence, k):
answer = []
n=len(sequence)
sums = 0
min_val = sys.maxsize
# 투포인터
end = 0
for start in range(n):
while end<n and sums<k:
sums+=sequence[end]
end += 1
if sums==k and min_val>end-start:
min_val=end-start
answer=[start, end-1]
sums -= sequence[start]
return answer
728x90