본문 바로가기

분류 전체보기19

[코테 중간 점검] 코드트리 갭체크로 한 달간 약점 유형을 돌아본 후기 코딩테스트 공부를 시작할 때 가장 어려운 점은 “내가 정확히 어디가 부족한지”를 아는 것이라고 생각한다.문제를 풀다 보면 막연히 구현이 약한 것 같기도 하고, 배열이 헷갈리는 것 같기도 하고, 시뮬레이션이나 BFS/DFS처럼 조금만 복잡한 유형이 나오면 기본기가 흔들리는 느낌을 받을 때가 많았다. 그래서 코드트리 청약챌린지를 시작하면서 갭체크를 통해 현재 실력을 먼저 확인해본 것이 꽤 도움이 됐다.처음 갭체크를 봤던 5월 18일 결과에서는 1차원 배열이 “불안정” 상태로 나왔고, 2차원 배열은 “부족” 상태로 나왔다. 특히 2차원 배열 쪽에는 완전탐색 III, 2차원 배열, 시뮬레이션 I 같은 개념들이 함께 표시되어 있었다. 배열 자체를 모르는 것은 아니라고 생각했지만, 문제를 풀 때 인덱스 접근이나 반.. 2026. 6. 22.
[코드트리 후기] 북마크로 나만의 복습 루틴 만들기 코딩테스트 공부를 여러 번 시도하면서 가장 크게 느낀 점은, 문제를 오래 붙잡고 있는 것만이 정답은 아니라는 것이다. 예전에는 한 문제를 풀 때 해설을 최대한 보지 않고 끝까지 혼자 해결하려고 했다. 물론 그렇게 해서 2~3시간 만에 문제를 풀어내면 뿌듯함은 컸다. 그런데 문제는 그다음이었다. 오래 걸려서 겨우 푼 문제일수록 다시 풀고 싶은 마음이 잘 생기지 않았다. “이 문제 또 보면 또 오래 걸리겠지?”라는 부담감이 먼저 들었고, 자연스럽게 복습을 미루게 됐다. 몇 번 그런 경험을 반복하다 보니, 오히려 효율적인 공부 방식은 따로 있다는 생각이 들었다.처음부터 너무 오래 붙잡기보다는 충분히 고민해본 뒤 해설을 보고, 풀이 방식을 학습한 다음, 나중에 다시 풀어서 내 것으로 만드는 방식이 더 중요하다는.. 2026. 6. 15.
[Java] str.length()와 arr.length의 차이점: 왜 하나는 메서드고 하나는 속성일까? 자바를 다루다 보면 누구나 한 번쯤 "대체 왜 어떤 건 뒤에 괄호가 붙고, 어떤 건 안 붙지?" 하며 헷갈리는 순간이 찾아옵니다.String str = "Hello";int[] arr = {1, 2, 3};int len1 = str.length(); // 괄호가 있음 (메서드)int len2 = arr.length; // 괄호가 없음 (속성/필드) 모양은 비슷한데 하나는 메서드(()) 호출이고, 하나는 참조 변수의 속성(field) 접근입니다. 왜 자바 설계자들은 이 둘을 다르게 만들었을까요? 자바의 내부 구조와 객체지향 설계 관점에서 그 이유를 파헤쳐 보겠습니다.1. arr.length : 배열은 JVM이 관리하는 '특수한 객체'다자바에서 배열(Array)은 일반적인 클래스로 정의된 객체가 아니라,.. 2026. 6. 8.
[코테 공부] 잔디 심기와 알림톡으로 코드트리 학습 루틴 만들어가는 중 올해 초부터 코딩테스트 공부를 제대로 해보고 싶다는 마음이 있었다.하반기 이직을 목표로 하고 있어서, 알고리즘 공부를 더 이상 미룰 수 없다고 생각했다. 그래서 1~2월쯤에는 큰마음 먹고 60만 원 정도 하는 코딩테스트 강의도 결제했다.그런데 결과적으로는 한 달 정도 공부하다가 흐름이 끊겼다.가장 큰 이유는 문제가 너무 어렵게 느껴졌기 때문이다. 기본기가 탄탄하지 않은 상태에서 바로 응용문제를 풀려고 하다 보니, 문제를 풀수록 실력이 쌓인다는 느낌보다는 “나는 왜 이렇게 못 풀지?”라는 생각이 더 많이 들었다.기본기에 구멍이 많은 상태에서 어려운 문제를 만나니 재미도 없고, 자연스럽게 손이 안 가게 됐다.그래서 이번에는 공부 방식을 조금 바꿔보고 싶었다.어려운 문제를 많이 푸는 것보다, 수학 문제집을 풀.. 2026. 6. 8.
[Java] / 연산자와 Math.floor()의 함정, 그리고 음수 나눗셈의 비하인드 알고리즘 문제를 풀거나 수식을 코드로 옮기다 보면 내림 함수($\lfloor x \rfloor$) 표기를 자주 마주치게 됩니다. 보통 Java에서 자연수를 다룰 때는 고민 없이 / 연산자를 사용해 소수점을 절삭하곤 하는데요."과연 음수 연산에서도 / 연산자가 수학적인 내림(Floor)처럼 동작할까?" 라는 의문에서 출발해, Java의 동작 방식과 안전한 대안까지 정리해 보았습니다.1. Java의 / 연산자는 '내림'이 아니라 '절삭'이다결론부터 말하자면, Java에서 정수끼리 나누는 x / y 연산은 수학의 내림(Floor)과 다르게 동작합니다. Java 공식 스펙(JLS) 기준으로 정수 나눗셈은 '0을 향해 버림(Round toward zero)'하는 Truncation(절삭) 방식을 취하기 때문입니다.. 2026. 6. 5.
[코드트리] 재귀함수 알고리즘 기초 학습 후기 코딩테스트를 준비하다 보면 막연하게 “문제를 많이 풀어야 한다”는 생각이 들 때가 많다.나도 그동안은 부족한 유형이 있으면 관련 문제를 더 많이 풀어보는 식으로 공부하려고 했다. 그런데 문제를 풀다 보면 정작 내가 어떤 부분에서 막히는지, 어떤 기본기가 부족한지 정확히 파악하기 어려울 때가 있었다.이번 코드트리 청약챌린지 4회차 미션은 차근차근 약점 집중 돌파였다.내가 느낀 코드트리의 장점은 코딩테스트에 필요한 유형들을 큰 덩어리로만 제시하는 것이 아니라, Trail, Chapter, Lesson 단위로 나눠서 하나씩 학습할 수 있게 구성되어 있다는 점이다. 덕분에 “나는 알고리즘이 약해”처럼 막연하게 느끼는 게 아니라, 지금 어떤 유형을 공부하고 있고 어떤 기본기를 다지고 있는지 확인하면서 학습할 수 .. 2026. 6. 1.