• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

25번 문제 관련 질문!

21.02.15 12:14 작성 조회수 131

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

안녕하세요^^

40점 나오는 소스코드를 {;} 올려주세요. 직접봐야 알 수 있을 것 같습니다.