전체 글

개발은 좋은데 뭘로 개발할까
자기계발/생각 정리

2025년 3월 회고

3월 31일에 쓰면 좋겠지만 월요일이라서 바쁘다는 핑계로 쓰지 못 할까봐 미리 쓰는 3월 회고3월에는 개강하고 역시 많은 일들이 있었다.너무 일을 많이 벌렸나 싶으면서도 또 다 하고 싶었던 일들이니까.. 잘 수습?해봐야겠다 진로와 관련된 목표전공1. 졸업 프로젝트졸업프로젝트로 '한글 SQL 데이터베이스' 만들기 프로젝트를 본격적으로 시작했다.유튜브 알고리즘 추천으로 우연히 '코딩스키스키' 라는 버튜버 채널을 발견했다.엔비디아에 다니는 개발자가 버추얼 캐릭터를 만들어 운영하던 유튜브 채널로, 이력서 작성하는 방법, 대학생 때 해두면 좋은 것 등의 영상이 있었는데, 해당 영상에서 오픈 소스를 읽어보면 좋다고 추천한 것 중에 SQLite 가 있었다.1.0 버전은 소스코드가 1만줄 밖에(?) 안된다고 읽어보기 ..

알고리즘 (PS)/BOJ

[백준] 1876 - 튕기는 볼링공

문제 설명https://www.acmicpc.net/problem/1876 지름이 20cm 인 볼링공을 너비 105cm 인 레인 위에서 굴린다.볼링공이 구르기 시작한 첫 위치는 레인의 정 가운데 위치이고, 해당 위치에서 x도 각도로 굴린다.굴러간 공은 레인 벽과 부딪히면 입사각과 동일한 각도로 반사되어 튕긴다.볼링공이 구르기 시작한 첫 위치로부터 T 미터 떨어진 곳에 지름 12cm 인 볼링 핀이 있다. 처음 굴리기 시작한 각도 x 와 볼링공과 볼링핀 사이 거리 T 가 주어질 때, 이 볼링공이 볼링핀을 맞히는지 여부를 출력하라.  접근 방법우선 각도에 따라서 공이 여러번 튕길 수 있고, 매번 튕기는 것을 다 시뮬레이션으로 구현하는 것은 너무 복잡해보였다.그래서 수학적으로 문제를 풀 수 있을 것 같아서 태블..

알고리즘 (PS)/Programmers

[프로그래머스] 이중우선순위큐

https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 백준에도 똑같은 문제가 있다.전에 프로그래머스 레벨 테스트에서 이 문제를 만났다가 구현에서 막혀서 못 풀었던 기억이 났다.(백준에서도 힘들게 풀었었는데..) 이번에 다시 풀어볼 때는 한번에 잘 풀려서 기분이 좋았다. (옛날 풀이는 기억이 나지 않고 완전히 새로운 느낌으로 풀었다.)이 문제의 핵심은 최소힙과 최대힙을 만들고, 이 둘 사이에 데이터 동기화를 잘 시켜주는 것이다. 먼저 데이터를 추가할 때는 두 힙에 모두 데이터를 추가한다.최솟값을 삭..

알고리즘 (PS)/Programmers

[프로그래머스] 시험장 나누기 (2021 카카오 채용연계형 인턴십)

https://school.programmers.co.kr/learn/courses/30/lessons/81305# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이진트리를 k개 그룹으로 분할할 때, 각 그룹에 있는 노드가 가진 가중치의 합의 최댓값이 최소가 되도록 하는 문제최댓값이 최소가 되어야 한다는 점에서 이분탐색 (매개변수 탐색) 까지는 어렵지 않게 떠올릴 수 있었으나, 이진트리를 k개로 분할하는 구현에서 막혀서 어려웠다. 처음에는 각 트리에 대해서 누적합을 구하고, 누적합 정보를 기반으로 쪼개는 풀이를 떠올렸다.하지만 이 풀이가 27점 맞고 틀려서 디버깅하다가 반례를 못찾아서 클로드에 물어봤더..

알고리즘 (PS)/Programmers

[프로그래머스] 길 찾기 게임 (2019 KAKAO BLIND RECRUITMENT)

https://school.programmers.co.kr/learn/courses/30/lessons/42892 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr x좌표의 상대적인 위치를 이용하여 이진트리의 구성을 파악하고 전위/후위순위 결과를 출력하는 문제처음에는 직접 간선을 연결하고 그래프 순회를 해야하나 생각했는데, '이진트리' 라는 특성상 계속해서 좌/우 구분이 나눠지는 관계를 이용해서 현재 루트 노드가 커버하는 범위를 계속 좁혀나가면서 특정 x좌표의 노드가 현재 노드의 왼쪽/오른쪽 자식인지 판단하도록 하였다.현재 노드의 자식노드인지 판별하는 것은 현재 노드가 커버하는 범위 안에 포함되어 있는지 ..

알고리즘 (PS)/BOJ

[백준] 1248 - Guess (G3)

https://www.acmicpc.net/problem/1248어떤 수열의 연속하는 모든 부분수열 ai ~ aj 에 대한 합의 부호값 (+, 0, -) 를 알고 있을 때, -10 ~ 10 사이의 숫자를 사용하여 만들 수 있는 수열을 찾는 문제 처음에는 어떻게 해야할 지 감이 안왔는데, 보통 이렇게 알고리즘이 감이 안오는 문제는 입력 크기를 줄이고 완전탐색으로 풀도록 유도하는 경우가 많다. 이 문제도 수열의 길이가 최대 10으로 -10 ~ 10 까지 숫자 10개를 모두 시도해보면서 풀 수 있다.그렇다고 정말 나이브하게 완탐으로가면 21^10 이라는 경우의 수를 체크해야 한다.하지만 모든 부분수열의 ai ~ aj 부호값을 모두 만족해야 하는점에서 경우의 수를 치다보면 체크할 경우의 수가 확 줄어든다는 것을..

WEB(BE)/Spring & Spring Boot

JAVA 값 객체의 동등 비교 ('==' 과 equals() 의 차이)

개발하다가 코드 리뷰를 받으면서 들었던 의문점엔티티 필드에 값 객체가 존재하고, 외부에서 값 객체가 주어질 때, 해당 값 객체의 값과 엔티티가 갖고있는 값 객체의 값이 같은지 판별해야 하는 메서드를 작성할 일이 생겼다. 나는 단순하게 값 객체의 필드를 하나 하나 꺼내서 비교하는 메서드를 그냥 작성했는데, 리뷰로는 `equals()` 메서드를 사용하면 된다는 리뷰를 받았다. 코드를 작성할 땐 막연히 `equals()를 사용하면 참조비교하겠지?` 정도로만 생각해서 하나씩 세부 필드를 꺼내서 비교하는 코드를 작성했는데, 그 차이점을 직접 비교해보려고 한다. GPT 가 알려준 것GPT는 값 객체를 비교할 때 equals 메서드를 오버라이딩 하는 것을 추천하고 있다.구글링 해봤을 때도 다른 블로그들이 모두 비슷하..

자기계발/생각 정리

2025년 2월 회고

2025년 2월을 되돌아보면서 1년 목표를 세웠던 것 중 1달동안 얼마나 이루었는지 되돌아보려고 한다.1월 회고를 작성하고나서 2월을 보내니 1월보다 더 의식적으로 목표를 생각하면서 지내게 된 것 같다.그래서 개강 후에도 바쁘더라도 1달에 1번씩은 꼭 회고를 작성해야겠다는 생각이 들었다.  진로와 관련된 목표1. 전공 성적 A+ 유지전공 관련으로 졸업프로젝트 주제를 확정하고 분반 배정까지 받았다.이번 졸업프로젝트 주제는 '한글 SQL 데이터베이스 만들기'로 확정되었다.사실 한글 SQL은 데이터베이스 만들기에 변형을 주기 위한 요소일 뿐이고, 이 프로젝트의 주 목적은 데이터베이스를 구성하는 여러 요소를 간단하게나마 직접 구현해보면서 DB 관련 CS지식을 코드로 체화해보는데 그 목적이 있다.아직 졸프 관련으..

자기계발/코딩테스트, 대회

2025 블레이버스 MVP 해커톤 후기 (feat. 챌린저상)

https://event-us.kr/blaybus/event/97293 2025 블레이버스 MVP 개발 해커톤 - 이벤터스초기 창업 팀의 아이디어를 기반으로 기획/디자인/개발 직군 팀을 구성하여 웹버전 MVP를 구현하는 해커톤입니다.event-us.kr 같은 동아리 친구에게 같이 하자고 권유받았는데 백엔드 직군 마감이라서 아쉽다고 생각하던 와중 알고보니 사전 팀을 짜서 참여하는 건 괜찮다고 해서 지원 마감일에 동아리 사람 4명이서 함께 나가게 되었다. 2월 9일 해커톤 OT 및 팀 빌딩, 2월 10일 ~ 2월 19일 개발 진행, 2월 20일 파이널데이로 진행되었다.  해커톤 OT (2/9)이 해커톤은 초기 창업팀의 사업 아이디어를 기반으로 기획자가 아이디어를 더 발전시켜서 실제 동작하는 작은 MVP를 만..

자기계발/자격증

2025년 정기 1회 정보처리기사 필기 합격 후기 (feat. 1일 벼락치기)

어제 정보처리기사 1회 필기 시험을 보고 왔다.가채점 결과는 86점으로 합격하였다.여행과 프로젝트 일정으로 인해 하루 전날에 벼락치기로 공부했는데, 필기 난이도는 전공생 기준으로 어렵지 않아 다행히  합격할 수 있었다. 먼저 나는 컴퓨터공학 3학년까지 수료하여 DB, 네트워크, 컴퓨터구조, 운영체제를 수강했고, 아직 소프트웨어공학은 수강하지 않은 상황이었다. 정보처리기사는 개발방법론, 디자인패턴, 소프트웨어 설계 및 성능 테스트 / 평가 방법, DB, 자료구조, 운영체제, 네트워크, 소프트웨어공학, 간단한 프로그래밍 언어 문법&로직 문제가 나온다. 세부 과목으로 보면 1. 소프트웨어설계2. 소프트웨어개발3. 데이터베이스구축4. 프로그래밍언어활용5. 정보시스템구축관리 으로 나누어진다.과목당 20문제씩 총 ..

에버듀
Blog. 에버듀