Java

· CS/Java
1. 왜 이 글을 쓰게 되었는가1) 글을 쓰게 된 계기"자바의 신 Vol 1: 기초 문법편 3rd Edition"을 읽던 중에 "Pass by value" 주제에서 시작됐다. String 문자열 객체가 메서드의 매개변수로 전달되어, 해당 메서드에서 객체의 값이 수정될 거라고 생각했다. 하지만, 생각했던 것과 달리 String 문자열 객체가 변경되지 않아서 해당 개념을 바로잡고자 글을 쓰게 됐다. 2) 필자의 배경 수준- Java : 중 - 기본 문법 이해 (코딩테스트 주력 언어) - 프로젝트 경험 보유 - 기본형 / 참조형 자료형 구분 - JVM 메모리 구조(T구조 - 스택, 힙, 스태틱) 얕게 이해 2. 문제 상황과 코드public class ReferencePass { public sta..
문제가방 문제 난이도골드 4 알고리즘 태그투포인터, 슬라이딩윈도우, 그리디(정렬) 이 문제를 왜 풀게 됐는가?문제 지문이 길거나 또는 문제 지문에서 생각을 요구하는 문제를 풀고 싶었다.이 전에는 문제의 지문이 짧아서, '이 문제의 알고리즘은 무엇일까?'라는 생각을 먼저 했다.하지만, 2025년부터 기업의 코딩테스트는 문제의 독해력도 요구하는 것 같았다. 기업에서 코딩테스트를 통해 이제는 요구하는 바가 '요구사항을 정확하게 이해하고 있는가?'와 '이 문제의 알고리즘을 알고 있는가?' 인 것 같다.그리고, 프로그래머스를 풀면서 더 많은 문제를 풀어보고 싶었다. 프로그래머스와 가장 유사하게 "부분 점수"도 있기 때문에 연습하기 가장 좋다고 생각했다.독해력 연습과 부분 점수를 고려하고자 백준의 한국정보올림피아드..
문제백준 15900번 나무 탈출 문제 난이도실버 1 알고리즘 태그그래프 탐색, BFS, 트리 문제 소개성원이와 형석 두 사람이 게임을 진행한다. 게임은 성원이가 먼저 시작한다.게임 방식은 리프 노드에서 게임말을 한 칸씩 부모 노드(루트 노드는 반드시 1)로 이동한다. 만약, 리프 노드에서 출발한 게임말이 1번 노드를 만나게 되면 해당 게임말은 사라진다. 이러한 방식을 진행 중에, 모든 게임말이 사라졌을 때, 해당 차례의 사람은 게임에서 지는 것이다.특정 노드에서는 게임말이 여러 개가 될 수 있다.입력은 처음에 N 을 입력받고(노드 개수),그 다음 (N-1)개 만큼의 두 숫자를 입력받는다. 이 두 숫자는 노드를 뜻하고, 서로 연결됨을 뜻한다.(엣지 개수 = (N-1))출력은 성원이가 게임에서 항상 이긴다면..
1. 결과 필자의 알고리즘 상태는 백준 기준(solved)으로는 플레티넘4이고, 백준 문제 기준으로 평균적으로 골드4까지는 풀 수 있다(?) 고 생각한다.알고리즘 유형별로 DP, 그리디, 누적합 같은 문제는 골드5...?까지인 것 같고, 그래프(DFS, BFS, 최단경로)는 원래부터 난이도가 높아서 골드3 정도..? 그래서 평균 골드 4까지는 풀 만 하다고 생각했다. 앳코더나 코드포스는 Div4 기준으로는 평균적으로 3문제 정도 푸는 것 같다. (앳코더로는 갈색..? 고점 뜨면 초록..ㅠ) 2. 응시 배경프로그래머스에서 PCCP(Java) 를 응시한 가장 큰 이유는 "코테 실전 경험"이다. 1. 2025년 하반기 종료코딩테스트에 대한 무료(?) 실전 경험을 위해서 여러 기업들의 공채에 많이 지원했다.- ..
문제 상황백준 1005번 문제를 풀다가 우선순위 큐를 사용해서 위상정렬을 구현했다. 코드를 완성하고 팀원과 비교해보니 둘 다 같은 답을 출력하는데, 우선순위 큐에 값을 넣는 부분의 코드 순서가 다르더라.처음엔 그냥 스타일 차이라고 생각했는데, 자세히 보니 정렬 기준이 되는 값을 초기화하는 시점이 달랐다. 나의 실수를 기록하고, 이를 파고들어 정리하고자 한다. 코드 비교 : 어디가 다른가// 내 코드for (int i = 1; i // 팀원의 코드for (int i = 1; i 두 코드 모두 결과적으로 같은 동작을 하는 것처럼 보인다. 하지만 이 순서 차이는 생각보다 중요했다. 근본 원인 : PriorityQueue와 힙의 관계이 의문을 풀려면 Java의 PriorityQueue가 어떻게 구현되어 있는지..
junju404
'Java' 태그의 글 목록