인프런 커뮤니티 질문&답변

hj님의 프로필 이미지
hj

작성한 질문수

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

22. 때때로 time limit

작성

·

228

0

같은 코드인데, 한번은 array(배열)로, 한번은 vector로 두었습니다.

array로 했을 때는 4번예제에서 time_limit이 났는데 vector로 했을 때는 다 success였습니다. 같은 경우엔 array가 더 빠른거 아닌가요? 왜 이러죠

#include <iostream>
#include <vector>

int main(void)
{
	int n, k, max, sum = 0;
	 std::vector<int> tem(100001);

	scanf("%d %d", &n, &k);
	tem[0] = 0;
	for (int i = 1; i <= n; i++) {
		scanf("%d", &tem[i]);
		sum += tem[i];
		if (i == k)
			max = sum;
		else if (i >= k) {
			sum -= tem[i - k];
			if (sum > max)
				max = sum;
		}
	}
	printf("%d", max);

	return 0;
}
#include <iostream>

int main(void)
{
	int n, k, max, sum = 0;
	int tem[100001];

	freopen("input.txt", "rd", stdin);
	scanf("%d %d", &n, &k);
	tem[0] = 0;
	for (int i = 1; i <= n; i++) {
		scanf("%d", &tem[i]);
		sum += tem[i];
		if (i == k)
			max = sum;
		else if (i >= k) {
			sum -= tem[i - k];
			if (sum > max)
				max = sum;
		}
	}
	printf("%d", max);

	return 0;
}

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

같은 코드이면 벡터가 좀 느리다고 저도 알고있습니다. 저는 벡터나 배열이나 속도 차이는 거의 없다고 보는 입장입니다. 특히 하나는 통과되고 하나는 타임리밋이 날 정도의 차이는 아니라고 생각하는데 저도 뭐라 답하기 힘드네요.

hj님의 프로필 이미지
hj

작성한 질문수

질문하기