BEYOND SW 캠프 23기 7주차 회고

이지연·2026년 1월 4일
post-thumbnail

Week 7

기간: 25.12.29-2026.01.02
커리큘럼: 백엔드(Java)


1. Facts — 무엇을 했나?

<자바 Java>

문제 유형별 분류 (정규 수업 과제)

힙정렬DFS/BFS그리디DP투포인터이분탐색
[프로그래머스] 명예의 전당[백준] 1260 : DFS와 BFS (방문순서)[백준] 1449 : 수리공 항승[프로그래머스] 멀리 뛰기 (계단관련)[백준] 3273 : 두 수의 합 - Java (두수의 합 또는 차)[백준] 2512 : 예산 - Java
[프로그래머스] 야근지수[백준] 2210 : 숫자판 점프 (이차원배열의 완전탐색)[프로그래머스] 체육복[백준] 2579 : 계단 오르기 (계단관련)[백준] 2470 : 두 용액 - Java (두 수의 합 또는 차)[백준] 16401 : 과자 나눠주기 - Java
[백준] 11724 : 연결 요소의 개수 (인접리스트 활용 거리)[백준] 2294 : 동전 2 (동전문제)[백준] 2230 : 수 고르기 - Java (두 수의 합 또는 차)[백준] 3079 : 입국심사 - Java
[백준] 11725 : 트리의 부모 찾기 (방문순서)[백준] 1149 : RGB거리 (최대값최소값)[백준] 2559 : 수열 - Java (수열의 범위)
[백준] 1697 : 숨바꼭질 (비노드 형식의 거리문제)[프로그래머스] 정수 삼각형 (최대값최소값)[프로그래머스] 연속된 부분 수열의 합 - Java (수열의 범위)
[백준] 2644 : 촌수계산 (인접리스트 활용 거리)[백준] 2096 : 내려가기 (최대값최소값)[백준] 2003 : 수들의 합 2 - Java ( 수열의 범위)
[프로그래머스] 게임 맵 최단거리 (이차원 배열의 최단거리)[백준] 11053 : 가장 긴 증가하는 부분 수열 - Java (문자열, 수열)[프로그래머스] 숫자의 표현 - Jav* (수열의 범위)
[프로그래머스] 가장 먼 노드 (인접리스트 활용 거리)[백준] 14002 : 가장 긴 증가하는 부분 수열4 - Java (문자열, 수열)
[프로그래머스] 피로도 - Java (완전탐색 + 백트래킹)[백준] 12865 : 평범한 배낭 - Java (배낭문제)
[백준] 14725 : 벼락치기 - Java (배낭문제)
[백준] 1106 : 호텔 - Java (배낭문제)

<코딩테스트-자습>

  • 소소하게 solved.ac 뱃지도 모으고, silver 1까지 승급!

<스터디>

  • 정규 수업시간 알고리즘 문제 코드리뷰

<컨디션 관리>

  • 영양제 섭취 💊
  • 설 연휴때 수면 보충 완료!🛌

2. Feelings — 어떻게 느꼈나?

  • 힙정렬부터 DP까지 알고리즘의 연결고리가 보이면서 전체 구조가 잡히는 느낌을 받음
  • 실전 문제(프로그래머스/백준)에서 PriorityQueue, BFS 최단거리, 이분탐색, 투포인터 등 여러 패턴을 적용하며 개념이 실제로 사용되는 경험을 함
  • Greedy와 DP의 판단 기준이 헷갈렸지만 문제 유형이 반복되면서 점점 직관이 생김
  • 그래프 탐색은 이제 패턴이 보이기 시작, DP 점화식은 여전히 손에 익히는 중이지만 감을 찾아가는 과정이라 생각하고 꾸준히 연습해야겠다고 느낌

3. Findings — 무엇을 배웠나?

  • 힙 핵심: 배열=완전이진트리 규칙(heapify 재귀), PriorityQueue=힙기반 O(logn)
  • DFS/BFS 패턴: 인접리스트→visited 위치→최단거리(level BFS)
  • Greedy 조건: 탐욕선택이 항상 최적해를 보장하는지 판단
  • DP 워크플로우: 상태정의 → 점화식 → 초기값 설정 → 탑다운/바텀업 구현 (예: 계단오르기, 동전, RGB거리 등)
  • 투포인터(Two Pointer): 정렬된 배열에서 양 끝 포인터를 이동시키며 조건(합·차)에 맞춰 범위 축소(O(n)), 슬라이딩 윈도우와의 차이(고정 길이 vs 조건 기반) 파악
  • 이분탐색(Binary Search): 정렬된 배열에서 mid와 비교하며 탐색 범위를 반으로 축소(O(logn)), 정확 일치뿐 아니라 lower/upper bound 경계값 탐색 가능

4. Future — 다음에 어떻게 활용할까?

  • 알고리즘 연습: 백준 골드급 문제 풀기
  • 패턴 적용: 프로그래머스 레벨2+ 위주로 시간복잡도 계산하며 구현
  • 프로젝트 연계: 포트폴리오 백엔드에 PriorityQueue(랭킹), BFS(경로탐색) 적용
  • 스터디 활용: 점화식/탐욕조건 증명 연습으로 알고리즘 코드리뷰 강화

🧩 마무리 한 줄

어려웠던만큼 성취감은 가장 컸던 한 주
앞으로도 계속 기대된다.

profile
Eazy하게

0개의 댓글