작성
·
200
0
안녕하세요 선생님
강의 잘 듣고 있습니다.
현재 25번 문제를 풀었는데요, 다른 부분은 강의 코드와 동일한데 일반 배열로 선언하지 않고 벡터로 선언을 했습니다.
vector<int> a(n); vector<int> b(n); 이런 식입니다.
그런데, 점수가 40점이 나오네요. 어떤 차이가 있는지 알고 싶습니다.
감사합니다.
답변 3
0
저의 경우 몇몇 문제에서 벡터는 결과가 제대로 안 나오거나 시간초과로 점수가 낮게 나왔습니다. 이 때마다 정적 배열로 구현하면 100점이 나왔습니다. 하지만 동적으로 크기를 잡으면 오히려 시간복잡도나 메모리 절약 면에서 더 유리할 것이라고 생각해서 어떤 차이가 있는건지 모르겠습니다..
0
#include <stdio.h>
#include <vector>
#include <algorithm>
using namespace std;
int main(int argc, char** argv) {
//freopen("input.txt","rt",stdin);
int i, j, n;
scanf("%d", &n);
vector<int> score(n);
vector<int> rank(n);
for(i = 1;i <= n;i++){
scanf("%d", &score[i]);
rank[i] = 1;
}
for(i = 1;i <= n;i++){
for(j = 1;j <= n;j++){
if(score[i] < score[j]) rank[i]++;
}
}
for(i = 1;i <= n;i++){
printf("%d ",rank[i]);
}
return 0;
}
0