👩💻 Join our community of thousands of amazing developers!
백준 1806번 오늘 풀어본 문제는 백준의 1806번 문제1이다. 문제 풀이에 사용한 언어는 C++ 이다. solved.ac 기준 CLASS 문제 정보 이 문제의 내용과 조건은 다음과 같다. 문제 $10,000$ 이하의 자연수로 이루어진 길이 $N$ 짜리 수열이 주어진다. 이 수열에서 연속된 수들의 부분합 중에 그 합이 $S$ 이상이 되는 것 중, 가장 짧은 것의 길이를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 $N$ $(10 \le N < 100,000)$ 과 $S$ $(0 < S \le 100,000,000)$ 가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, $10,000$ 이하의 자연수이다. 출력 첫째 줄에 구하고자 하는 최소의 길이를 출력한다. 만일 그러한 합을 만드는 것이 불가능하다면 $0$ 을 출력하면 된다. 풀이과정 1번째 시도 문제를 보고 처음 떠올린 풀이 방법은 누적 합과 투 포인터 방법을 동시에 활용하는 것이었다. ...