강의

멘토링

로드맵

Inflearn brand logo image

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

박선엽님의 프로필 이미지
박선엽

작성한 질문수

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

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

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

작성

·

124

0

안녕하세요 강의를 들으면서 코딩테스트를 준비하는 취준생입니다. 먼저 좋은 강의를 만들어주셔서 감사합니다.

질문드릴 사항은 39번 제가 풀고 채점을 돌렸는데 1 ~ 5 다 틀렸다고 뜹니다. 그래서 채점 폴터의 in1 ~ in4를 직접 넣고 돌린 결과를 out1 ~ out4까지 비교 해봤는데 제가봤을 때는 정답입니다. 그래서 뭐때문에 틀린지 여쭤보고 싶습니다. 아래는 제가 작성한 코드입니다.

 

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main(void)

{

int N;

scanf("%d", &N);

int nArr = (int)malloc(N*sizeof(int));

for(int i = 0; i < N; i++)

{

scanf("%d", &nArr[i]);

}

int M;

scanf("%d", &M);

int mArr = (int)malloc(M*sizeof(int));

for(int i = 0; i < M; i++)

{

scanf("%d", &mArr[i]);

}

int res = (int)malloc((N+M)*sizeof(int));

for(int i = 0; i < N; i++)

{

res[i] = nArr[i];

}

int jj = 0;

for(int i = N; i < (N+M); i++)

{

res[i] = mArr[jj];

jj++;

}

int tmp;

for(int i = 0; i < (N+M); i++)

{

for(int j = i+1; j < (N+M); j++)

{

if (res[i] > res[j])

{

tmp = res[i];

res[i] = res[j];

res[j] = tmp;

}

}

}

for(int i = 0; i < (N+M); i++)

{

printf("%d ", res[i]);

}

free(nArr);

free(mArr);

free(res);

return 0;

}

답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
박선엽님의 프로필 이미지
박선엽

작성한 질문수

질문하기