코딩테스트/코드트리 [코드트리 챌린지] 가장 짧은 부분합 - [실력진단 테스트] [문제] https://www.codetree.ai/missions/8/problems/shortest-subtotal?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai [문제 풀이] 투 포인터를 이용한 기본적인 문제이다. start 포인트와 end 포인트를 두고 start가 n이 되기 전까지 혹은 end가 해당 범위를 벗어나기 전까지 돌리면서 가장 짧아지는 거리를 파악하자. [회고] . [코드] #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int n,s; cin>>n>>s; vector<int> arr(n); for(int i = 0;i<n;i++){ cin>>arr[i]; } int start = 0; int end = 1; int total = arr[0]; int answer = 2000000000; while(start < n && end <= n){ if(total < s){ total += arr[end]; end++; } else if(total >= s){ total -= arr[start]; start++; answer = min(answer, end - start); } } (answer == 2000000000) ? cout<<-1 : cout<<answer + 1<<endl; return 0; } 공유하기 게시글 관리 Yoon-1212 '코딩테스트 > 코드트리' 카테고리의 다른 글 [코드트리 챌린지] 연속되는 수 (0) 2023.10.19 [코드트리 챌린지] 가장 많은 데이터 (0) 2023.10.09 [코드트리 챌린지] 정수 사각형 최소 합 (0) 2023.10.02 [코드트리 챌린지] 금 채굴하기 (0) 2023.09.22 [코드트리 챌린지] 트로미노 (0) 2023.09.22 Contents 당신이 좋아할만한 콘텐츠 [코드트리 챌린지] 연속되는 수 2023.10.19 [코드트리 챌린지] 가장 많은 데이터 2023.10.09 [코드트리 챌린지] 정수 사각형 최소 합 2023.10.02 [코드트리 챌린지] 금 채굴하기 2023.09.22 댓글 3 + 이전 댓글 더보기