연속부분수열 2
N개의 수로 이루어진 수열이 주어집니다. 이 수열에서 연속부분수열의 합이 특정숫자 M이하가 되는 경우가 몇 번 있는지 구하는 프로그램을 작성하세요. 만약 N=5, M=5이고 수열이 다음과 같다면 1 3 1 2 3 합이 5이하가 되는 연속부분수열은 {1},{3},{1},{2},{3},{1,3},{3,1},{1,2},{2,3},{1,3,1}로 총 10가지 입니다. 입력설명 첫째 줄에 N,M이 주어진다. 수열의 원소값은 1,000을 넘지 않는 자연수이다. 출력설명 첫째 줄에 경우의 수를 출력한다. 입력예제 1 5 5 1 3 1 2 3 출력예제 1 10 answer부분을 --> rt-lt+1로 구현 해석해보자 예를 들어, lt=0이고 rt=2인 경우 --> sum = 1+3+1 = 5를 나타낸다. rt - lt..
2021. 7. 13.
연속 부분수열 1
N개의 수로 이루어진 수열이 주어집니다. 이 수열에서 연속부분수열의 합이 특정숫자 M이 되는 경우가 몇 번 있는지 구하는 프로그램을 작성하세요. 만약, N=8, M=6이고 수열이 다음과 같다면 1 2 1 3 1 1 1 2 합이 6이 되는 연속부분수열은 {2, 1, 3}, {1, 3, 1, 1}, {3, 1, 1, 1}로 총 3가지입니다. 입력설명 첫째 줄에 N(1 6을 만족하므로 2를 빼준 후 lt++ 그럼 합이 1 + 3 4가됨 --> 이제 또다시 합이 6을 만족시키는 값을 찾아주면 된다. 이러한 방식으로 하면 n^2 --> n으로 줄어들게 된다.
2021. 7. 11.