inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

39. 두 배열 합치기(병합정렬 예비학습)

채점프로그램 구동 문제

519

코끼리

작성한 질문수 1

0

안녕하세요 수업 열심히 듣고 따라가는 학생입니다!

37번 문항에 질문 및 문제가 생겨 문의드립니다.

 

아래와 같은 코드를 작성했고, 이를 실행 후 채점폴더를 활용해 채점했을때 test 3,4,5번에서 exit_code 에러가 발생합니다.

#include <iostream>
using namespace std;
int scan(int n, int* arr, int len);
int main() {
	int S;
	int N;
	int scanres;
	cin >> S >> N;
	int* cache = new int[S]();
	int* work = new int[N];
	for(int i = 0; i<N; i++){
		cin >> work[i];
	}
	
	cache[0] = work[0];
	for(int i = 1; i<N; i++){
		scanres = scan(work[i], cache, S);
		if(scanres != -1){
			//캐시에 있다
			for(int j = scanres - 1; j >= 0; j--){
				cache[j+1] = cache[j];
			}
			cache[0] = work[i];
		}
		else{
			//캐시에 없다
			for(int j = S-1; j >= 0; j--){
				cache[j+1] = cache[j];
			}
			cache[0] = work[i];
		}
	}
	
	for(int i = 0; i<S; i++){
		cout << cache[i] << " ";
	}
	return 0;
}

int scan(int n, int* arr, int len){
	for(int i = 0; i < len; i++){
		if(arr[i] == n)
			return i;
	}
	return -1;
}

아무리 봐도 문제를 모르겠어 input 3,4,5를 열고 제 코드에 대입해 실행해본 결과 output 3,4,5와 일치하는 결과가 출력되었습니다.

아래 그림에서 왼쪽은 채점프로그램 점수이고, 오른쪽 위는 input 3 프로그램 실행시 결과, 그 아래는 output 3 파일입니다. input3 실행결과와 output3 결과가 일치하는것을 확인하실 수 있습니다.

어느부분에서 에러가 나는 것인지 조언 부탁드리겠습니다.

c++ 코딩-테스트

답변 1

0

김태원

안녕하세요^^

캐시에 없을 때 index out of range 에러가 납니다. C++이 index out of range 에러를 그냥 넘어가서 그렇지 다른 언어였다면 에러가 나는 코드입니다.

for(int j = S-1; j >= 1; j--){
	cache[j] = cache[j-1];
}

위와 같이 고치면 됩니다.

 

87번 채점 프로그램에 오류가 있는 것 같습니다.

0

91

2

그리디 파트

0

115

2

안녕하세요. 선생님(54번 코드 관련 문의)

0

143

2

테스트 파일 exit_coe_1, time_limit_exceeded 질문

0

143

1

C언어로 코드를 짜면 채점 시에 한 문제 빼고 시간 초과가 발생하는데 해결하는 방법이 있을까요?

0

173

1

19번 질문있습니다

0

123

1

6번 관련 채점오류입니다

0

88

2

22번 문제는 C로 풀어주신 건가요 C++로 풀어주신 건가요?

0

166

2

dev C++ 콘솔창 바로 닫힘

0

245

1

최신화하기

0

171

1

채점이 안되요...

1

261

1

안녕하세요 강사님 정렬에 대해서 설명이 조금 더 듣고 싶습니다.

0

113

1

45번 공주구하기 문제를 list를 이용해서 이렇게 풀어도 될까요?

0

155

1

39번 두 배열 합치기 문제 채점 오류인가 코드 오류인가

0

155

0

채점기에서 틀렸다고 나오는데 이유를 모르겠습니다.

0

150

2

해당 강의에서 C언어로만 진행하는 강의 문의 건

0

145

2

87번 문제 섬나라 아일랜드 질문

0

128

1

16번 문제에서 직접 답을 대입하면 정답이 나오는데 채점에서 wrong answer가 나옵니다.

0

149

1

40번 교집합 문제

0

166

1

43번 뮤직비디오 문제 테스트케이스 4번을 만족 못합니다.

0

170

1

41. 연속된 자연수의 합 문제 질문있습니다.

0

166

1

질문있습니다.

0

193

2

시간초과가 나요

0

172

1

43번 문제 3 ~ 5번에 문제가 있는것 같습니다.

0

249

1