본문 바로가기
728x90
반응형

java129

메모리 제한 풀기 백준 문제를 풀다보면, "메모리 초과" 일명 "메초"라고 불리는 result를 받을 수 있습니다. 그럴때마다 보통은 "사용하지 않아도 되는 배열 및 메모리 감소"를 하여 "메모리 초과"를 해결합니다. 그러나, 그렇게 해도 되지 않는 몇몇 외국어 문제들이 존재합니다. 그런 경우에는 2가지 방법이 있습니다. 1. System.gc()로 gc를 수동으로 실행하기 System.gc(); System.gc()는 반환이 없는 void로 그냥 선언하시면 됩니다. 이렇게 할 경우, 더 이상 사용하지 않은 메모리들을 수동으로 gc를 실행시켜 제거해 줍니다. (보통은 선언하지 않고 사용해도 JAVA는 자동으로 GC가 처리를 해줍니다.) ※ 주의 : PS에서만 사용하시고, 실제 현업에서는 사용하지 마세요. https://c.. 2023. 2. 9.
구름 알고리즘 챌린지 후기 구름에서 "알고리즘 먼데이 챌린지"를 진행하였습니다. 알고리즘 학습 및 개발직군 학습을 하면서 취업 준비하는 알고리즘 톡방을 통해 소식을 접하였고, 10/3일 알고리즘 챌린지가 시작하는 날부터 매주 꾸준히 문제풀이를 진행하였습니다. 주차별 난이도는 이렇게 분배되었고(맞는진 모르겠음), 매주 4문제가 나왔습니다. 그 중 1~2번은 알고리즘을 어느정도 학습을 한 상태라면 풀 수 있었고, 3번은 조금 생각해야 되는 문제, 4번은 심화 알고리즘이 나왔던 걸로 기억합니다.(4번은 많이 풀지 못함...) 문제들 중, 몇몇 문제들이 "필요 없는 설명이 들어가 있음" and "이상한 방식으로 해야지만 풀림" and "데이터가 부족하여 시초가 나와야 하는데 맞음" 등 문제가 있었지만, 저는 항상 첫날에 풀어가지고 다른 .. 2022. 12. 2.
int[] 활용하기 bfs나 dfs 등 ArrayList나 Queue에 x좌표, y좌표, 크기, 길이 등 여러 가지 값들을 한번에 넣을 때 보통 class Node{ int x, y, price; } 이런 식으로 사용하게 됩니다. 그러나 매번 문제를 풀 때 적어두기 귀찮고, 입력할 값들의 수가 변경할 때, 또 선언해 줘야 하는 귀찮은 문제가 발생하게 됩니다. 그 때 이 방식을 이용하면 간단하게 문제를 풀 수 있습니다. Queue queue = new LinkedList(); queue.add(new int[] {x, y, 0}); 이럴 경우 queue.poll()을 하게 되면 int[]의 형태로 나오게 되고 int[] now = queue.poll(); int nx = now[0]; int ny = now[1]; int p.. 2022. 1. 7.
JAVA의 깊은 복사, 얕은 복사 #얕은 복사 1번을 2번에 복사할 경우 1번이 수정이 일어나거나 2번이 수정이 발생하면 둘다 수정이 된다. 얕은 복사는 주소값을 복사하기 때문에 주소로 값을 참조하여 값이 변경되면 해당 값을 참조하고 있는 배열들의 값이 변경된다. int[] a = {1, 2, 3}; int[] b = a; b[0] = 2; 를 한 후 System.out.println(Arrays.toString(a)); System.out.print(Arrays.toString(b)); 를 할경우 [2, 2, 3] [2, 2, 3] 을 출력하게 된다. #깊은 복사 1번을 2번에 복사할 경우 1번이 수정이 일어나거나 2번이 수정이 발생해도 값은 수정이 발생한 곳만 변경된다. 주소값을 참조하는 것이 아닌, 새로운 메모리 공간에 값을 복사하.. 2021. 12. 30.
728x90
반응형