[JAVA] StringBuilder로 메모리 초과가 뜬 것에 대해

그린·2023년 2월 9일
0

오류

목록 보기
4/17

JAVA로 코딩 문제를 풀 때
System.out.println();을 써서 출력하다가 시간초과가 난 적이 꽤 있다.
그래서 알게 된 게 StringBuilder이다.
가끔 시간초과 날까봐 걱정될 때에는 이 StringBuilder를 적극적으로 활용했다.

무조건 완벽하다고 생각해온 StringBuilder였는데,
오늘 진짜 쉬운 문제를 풀면서 마냥 완벽한 것만은 아니라는 것을 알게 되었다.

https://www.acmicpc.net/problem/10951
이 문제에서 ide 없이 풀다가 StringBuilder로 출력 내용을 담아서 출력했더니만 메모리 초과가 떴다. 어디가 문제인지 모르겠어서 예전에 푼 코드를 확인해보니 예전 코드에서는 System.out.println();으로 썼길래 이걸로 바꿔보았다. 헉 바로 맞았습니다! 가 떴다...

코딩 문제 풀이에서 메모리초과는 거의 안 나타난다고 하지만, 혹시나 나타나면 이 StringBuilder가 문제가 될 수도 있다는 것을 알게 되었다. (살짝 충격이었다)

profile
기록하자

0개의 댓글