분류 전체보기 276

[2026 카카오그룹 공개채용] 카카오 1차 코테 후기 (카카오 코딩테스트)

개인적으로 모빌리티 도메인에 관심이 있어 이쪽으로 지원했는데, 카카오라는 그룹 이름에 걸맞게 재밌고 수준높은 문제가 출제되었다.1번문자열 검사 문제였다.2번 for문을 돌면서 Set을 통해 중복을 제거하면 해결할 수 있는 문제였다.2번사이클 내 모두 같은 값을 갖게 되는 최소시간을 탐색하는 문제였다lcm으로 제한을 걸면 100만 내 사이클이 끝나기 때문에, 이를 이용해 푸는 문제였다.척 보고 바로 안건 아니고, 편집기 내에서 print 문으로 직접 찍어 확인했다.3번나한테는 이게 제일 골치 아팠다.이 문제에만 2시간 10분을 사용했다.최대 높이가 하나라도 높아지는 순간에 분배도가 올라간다.같은 높이에선 분배 노드가 추가되더라도 분배도는 달라지지 않는다.선택한 건기본 트리 구성: 완전탐색리프 노드 추가: ..

PS 2025.10.11

2025년 10월 2주차 회고

항상 무언가를 수행하기.체계적인 상태를 유지하기.보상 체계를 깨끗히 유지하기.다음에 무엇을 해야 할 지 상상하기.이번주에 한 것핀잇핀잇 디자인 완성핀잇 FE 프로젝트 세팅MUI 템플릿 직접 사용해보기 - 각 컴포넌트 기능 확인카카오 코테202320222021카페 알바이번주에 하지 못한 것Double DQN 논문 리뷰코틀린 코루틴 학습추석 + 카카오 코테에 집중하느라 충분한 시간을 확보하지 못했다.+ 우선순위를 프로젝트에 비해 좀 낮출 필요를 느꼈다.다음주에 할 수 있는 것관심있는 도메인 다루는 기업에 이력서 제출프로그래머스 AI추천 문제 풀기하루 2~3문제푸쉬알림 발송해보기JAVA RestTemplate or WebClient 사용해보기다음주에 할 수 없는 것쿠팡Double DQN 논문 리뷰코틀린 코루틴..

다음 목표는?

지극히 개인적이고 주관적인 회고록임을 밝힙니다.서문최근 아버지의 항암치료가 일단락되고, 어느정도 내 일을 수행할 여유를 가질 수 있게 되었다.그런데 이렇게 갑자기 시간이 생기니 무엇을 해야 할지 모르는 문제를 겪고 있었다."내가 왜 살지?"라는 현학적인 질문만 던져가고 있었다.이는 아무것도 해결해주지 않는 쓸데없는 생각이다.이는 그 간의 피로가 누적되었다고 볼 수 있는데, 그렇다고 마냥 쉬는 것은 딱히 즐겁지도 않고 내 방식도 아니었다.그래서 "무엇을 삶의 목표로 삼을 것인가?" 라는 질문을 스스로에게 던져보았다.이러한 생각이 드는 이유뭘 해야 할지 모른다.원래 하고 싶은것은 많았다.최근 항암치료 보조때문에 어느정도 "내 욕심"에 대한 집중을 줄이게 되었다.관성처럼 움직이고 있다.곧 유지가 불가능해질 징..

[USACO Gold] DAG - 위상 정렬

위상 정렬이란, Directed Acyclic Graph(DAG)의 정점들을 각 정점이 자신의 자식 정점들보다 먼저 방문되도록 나열하는 것을 의미한다.방향 그래프(directed graph)는 간선을 한쪽 방향으로만 이동할 수 있는 그래프를 의미한다.또한 비순환 그래프(acyclic graph)는 순환(cycle)을 포함하지 않는 그래프를 의미한다.이는 하나 이상의 간선을 따라가서 출발한 정점으로 다시 돌아올 수 없는 구조를 말한다.이 두 정의를 합치면, 방향 비순환 그래프(directed acyclic graph, 줄여서 DAG)는 간선을 한쪽 방향으로만 이동할 수 있고 순환을 포함하지 않는 그래프이다.위상 정렬 (Topological Sort) - Course Schedule다음 문제를 풀어보자. C..

PS/USACO Gold 2025.10.07

[USACO Gold] Disjoint Set, 분리 집합, Union-find

그래프에 간선을 추가하고 그래프의 두 정점이 연결되어 있는지 검사할 수 있게 해 주는 자료구조가 분리 집합(DSU, Union-Find) 이다.USACO.guide는 알고리즘의 원리와 정의보단 어떻게 이 정의를 떠올릴 수 있는지에 집중한다.알고리즘의 원리와 정의가 중요하지 않다는 뜻이 아니다.실제 Union-find의 원리와 관련된 내용은 다음 링크를 참고 바란다. CS Academy csacademy.com 구현(Implementation)import java.util.*;public class DisjointSets { int[] parents; int[] sizes; public DisjointSets(int size) { parents = new int[size]; ..

PS/USACO Gold 2025.10.07

2023 KAKAO BLIND RECRUITMENT 1차 코딩테스트 후기

공식 풀이는 다음 링크를 통해 확인하실 수 있습니다.https://tech.kakao.com/posts/567 2023 카카오 신입 공채 1차 온라인 코딩 테스트 for Tech developers 문제해설 - tech.kakao.com2023 KAKAO BLIND RECRUITMENT 1차 코딩 테스트가 지난 9월...tech.kakao.com 카카오 공채도 썼겠다, 지난 카카오 공채의 코딩테스트 문제도 풀어보고, 프로그래머스 환경도 체험해보고자 프로그래머스에 존재하는 카카오 2023 블라인드 공채에 출제되었던 문제를 5시간동안 풀어보았다. 5시간동안 5문제를 풀었는데, 문제가 복잡해졌을 때 생각을 키보드로만 정리하는 과정이 좀 고되긴 하다.그림같은 걸 그릴 수 있을 수 있으면 좋을텐데, 이건 코테 환..

PS 2025.10.06

53. Maximum Subarray - 카데인 알고리즘

문제를 해설할 때 특수한 DP로 카데인을 자주 언급하게 되는데,카데인 알고리즘이 정확히 어떤 이점이 있는지, 다른 DP와는 무엇이 다른지 명확히 설명한 글이 없어 이렇게 글을 작성한다. 핵심 아이디어는 다음과 같다.dp[i]: 반드시 i에서 끝나는 최대 부분 배열 합즉, 한쪽 끝을 고정함으로써 중간의 연산을 최적 부분구조 + 중복 부분 문제의 형태로 만드는 아이디어가 핵심이다. 그러면 이 문제에서 전체 정답은 max_i dp[i] 가 된다.마지막 원소 a[i]를 포함해야 하므로 두 선택지뿐이다.a[i] 혼자로 새로 시작한다.i−1에서 끝나는 최적해 dp[i−1]에 a[i]를 이어붙인다.따라서 점화식은 다음과 같다.초기값이 점화식은 “끝이 i인 최적해”의 정의에서 바로 나온다.아이디어임의의 최적 부분 배..

PS/이론 2025.10.05

랜덤 보상 지급기

요새 너무 삭막하게 사는 것 같아 나 자신에게 보상을 줄 필요성을 느꼈다.import numpy as npimport jsonfrom datetime import dateREWARDS_JSON = "rewards.json"RESULT_TXT = "result.txt"PROB_TXT = "prob.txt"def get_reward(rewards, prob): print("하루의 집중 작업(3시간 이상 걸리는 작업)을 완료했나요?") answer = input("Yes/No: ") if answer != "Yes": print("다음에 다시 오세요!") return print("어떠한 문제를 해결했나요?") answer = input("해결한 문제: ") ..

개인적 공간 2025.10.05

[1만 시간의 재발견] 의도적 연습

이 책은 최소한으로 지켜야 하는 '의식적인 연습'에 대해 형식적으로 정의한 책이다.기회, 동기부여, 노력 등의 가치를 주장하는 책이 아닌, "의도적 연습"의 방법을 제시하는 책이다.좋은 환경에 있을 수 없을 때, 내 주변의 환경을 의식적으로 '좋은 환경'에 몰아넣기 위한 최소 조건을 정의한다.주변 환경의 도움을 받을 수 없을 때, 스스로 환경을 구성해야 한다면 좋은 기준이 되는 도서이다.요약 - 의식적인 연습의 방법명확하고 구체적인 목표가 존재하는 것무엇을 목표로 할 것인가?정확도를 높일 것인가?속도를 높일 것인가?어디까지 할 것인가?즉각적인 피드백 루프가 존재하는 것어떤 것이 문제여서 실패했는가? 라고 끊임없이 되묻는 것코치리뷰테스트동기 부여를 위해, 보상 체계를 깨끗하게 유지할 것즉시 보상조건부 보상..