13274번 - 수열
자바 long 의 크기가 8바이트고
크기가 10만인 long 배열 2개를 사용합니다.
그러면 160만 바이트 => 1.6메가 바이트 일텐데
어디서 메모리 초과가 뜨게 되는지 전혀 모르겠습니다 ㅜ
처음 bufferedreader를 이용해서 입력을 받는게 문젠가 싶어 scanner로 바꾸고
stringbuilder가 문제인가 싶어 출력을 매번 해주는 방식으로도 바꿔 봤는데 모두 메모리 초과가 떴습니다.
혹시 제가 못보고 있는 부분이 있는 건지 왜 메모리 초과가 뜨게 되는건지 알려주시면 감사하겠습니다 ㅜ
결과만 말씀드리면
long temp1 [] = new long[sub];
long temp2 [] = new long[N-sub];
이 부분이 문제인 것 같습니다.
main에서
long temp1 [] = new long[N]; long temp2 [] = new long[N];
해주고 sort 매개변수 넘겨주는 것만 수정하니까 통과했습니다.
제가 자바를 모르기 때문에 정확한 이유는 잘 모릅니다 죄송합니다.
댓글을 작성하려면 로그인해야 합니다.
dbstmddbs4 3년 전
자바 long 의 크기가 8바이트고
크기가 10만인 long 배열 2개를 사용합니다.
그러면 160만 바이트 => 1.6메가 바이트 일텐데
어디서 메모리 초과가 뜨게 되는지 전혀 모르겠습니다 ㅜ
처음 bufferedreader를 이용해서 입력을 받는게 문젠가 싶어 scanner로 바꾸고
stringbuilder가 문제인가 싶어 출력을 매번 해주는 방식으로도 바꿔 봤는데 모두 메모리 초과가 떴습니다.
혹시 제가 못보고 있는 부분이 있는 건지 왜 메모리 초과가 뜨게 되는건지 알려주시면 감사하겠습니다 ㅜ