dbstmddbs4   3년 전

자바 long 의 크기가 8바이트고

크기가 10만인 long 배열 2개를 사용합니다.

그러면 160만 바이트 => 1.6메가 바이트 일텐데

어디서 메모리 초과가 뜨게 되는지 전혀 모르겠습니다 ㅜ


처음 bufferedreader를 이용해서 입력을 받는게 문젠가 싶어 scanner로 바꾸고 

stringbuilder가 문제인가 싶어 출력을 매번 해주는 방식으로도 바꿔 봤는데 모두 메모리 초과가 떴습니다.


혹시 제가 못보고 있는 부분이 있는 건지 왜 메모리 초과가 뜨게 되는건지 알려주시면 감사하겠습니다 ㅜ

plan222   3년 전

결과만 말씀드리면

long temp1 [] = new long[sub];

long temp2 [] = new long[N-sub];

이 부분이 문제인 것 같습니다. 

main에서

 long temp1 [] = new long[N];
long temp2 [] = new long[N];

해주고 sort 매개변수 넘겨주는 것만 수정하니까 통과했습니다.

제가 자바를 모르기 때문에 정확한 이유는 잘 모릅니다 죄송합니다.

댓글을 작성하려면 로그인해야 합니다.