인프런 커뮤니티 질문&답변
작성자 없음
작성자 정보가 삭제된 글입니다.
23번 문제를 벡터로 풀다가 질문이 있습니다.
작성
·
185
0
아무리봐도 잘못된 부분이 보이지 않는데
count를 print해보았을 때, 왜 count가 7로 나오는지 모르겠습니다..
혹시 잘못된 부분이 있다면 지적해주시면 감사하겠습니다.
#include<iostream>
#include<stdio.h>
#include<vector>
using namespace std;
int main() {
freopen("input.txt", "r", stdin);
int n, count = 1, max = -1;
scanf("%d", &n);
vector<int> a(n);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for (int i = 0; i < n; i++) {
count = 1;
for (int j = i + 1; j < n; j++) {
if (a[i] < a[j] || a[i] == a[j])
count++;
//5 7 3 3 12 12 13 10 11
else
break;
}
printf(" %d", count);
if (count > max)
max = count;
}
//printf("%d", max);
}
답변 1
0
안쪽 j for 문을 이렇게 바꾸면 됩니다.
for (int j = i; j < n-1; j++) {
if (a[j] <= a[j+1])
count++;
if문이 j와 j+1이 비교되어야 합니다.
추신) 다른 수강자들도 질문과 답변을 보고 있으니 23번 질문이면 23번 영상에서 질문을 해주시면 감사하겠습니다.
또한 코드를 올릴때에는 {;} 아이콘을 사용해서 코드를 올려주시면 제가 보기가 편합니다.





