처음 작성한 코드는 다음과 같다.
하지만 틀렸다는 결과가 나왔다.
#include <iostream>
using namespace std;
int main(){
int n,m;
cin >> n >> m;
int arr[n];
for(int i=0; i<n; i++)
cin >> arr[i];
int answer = 0;
for(int i=0; i<n; i++){
int sum = arr[i];
for(int j=i+1; j<n; j++){
if( (sum+arr[j]) < m )
sum += arr[j];
else if( (sum+arr[j]) == m ) {
answer++;
break;
}
else
break;
}
}
cout << answer;
return 0;
}
수정한 코드는 다음과 같다.
sum의 값을 선언하는 부분을 수정했다.
내부의 for문을 i+1부터 말고 i부터 돌도록 수정했더니 잘 돌아갔다.
#include <iostream>
using namespace std;
int main(){
int n,m;
cin >> n >> m;
int arr[n];
for(int i=0; i<n; i++)
cin >> arr[i];
int answer = 0;
for(int i=0; i<n; i++){
int sum = 0;
for(int j=i; j<n; j++){
if( (sum+arr[j]) < m )
sum += arr[j];
else if( (sum+arr[j]) == m ) {
answer++;
break;
}
else
break;
}
}
cout << answer;
return 0;
}
'백준' 카테고리의 다른 글
백준 10431 줄세우기 c++ (0) | 2024.03.31 |
---|---|
백준 11723 집합 c++ (0) | 2024.03.30 |
백준 13300 방 배정 c++ (0) | 2024.03.28 |
백준 1475 방 번호 c++ (0) | 2024.03.27 |
백준 11652 카드 c++ (0) | 2024.03.27 |