크래프톤 정글 2주차 - 알고리즘 + OpenAI 수요코딩회 (WIL)

jypark·2026년 3월 12일
post-thumbnail

2주차 정글 스케쥴 (3월 7일 ~ 3월 12일)

알고리즘 주제

  • 기본적인 자료구조 (Dict, Array, String ...), 파이썬 문법
  • brute Force
  • 재귀함수
  • 백트래킹
  • 정수론

3월 7일 토요일

  • Week2 팀 구성 + 알고리즘 basic 문제 10문제 Solved
  • 코어 타임 Leet 코드 문자열 Solved

3월 9일 월요일

  • 오전 알고리즘 (이동석 코치님) 강의 - 프로그래밍 사고 + 재귀적 접근
  • 알고리즘 + 하 문제 + 중 문제 일부
  • 코어 타임 백트래킹 핸드폰 문자열

3월 10일 화요일

  • 알고리즘 중 문제 + 백트레킹 유형별 문제 생성 4문제 + 비숍 문제(플레)
  • 코어 타임 Pow() fast exponent algorithm
  • 알고리즘 푼 문제 Total Review

3월 11일 수요일

  • OpenAI Codex 설명 세션 : OpenAI 임직원 (Krafton 담당자, Deployment Engineer, Solution Architect, Account Manager)
  • Codex로 미니 해커톤 70분
  • 세션 이후 수요코딩회 진행 (~새벽 2시 30분)

3월 12일 목요일

  • 수요코딩회 3분 발표 및 코드 리뷰
  • 3주차 발제
  • 2주차 팀원 회고
  • 2주차 WIL 작성 & 3주차 팀원 check

WIL

1. 이번 주 목표

이번 주에는 알고리즘 학습과 함께 미니 해커톤 프로젝트를 수행.
바이브 코딩에 익숙해지고, 빠르게 서비스를 설계, 구현하는 것을 목표로 했다.

알고리즘 학습 목표

구현 / 문자열 / 재귀 문제 유형 익숙해지기

완전탐색 / 백트래킹 개념 정리

문제 풀이 과정에서 재귀적 사고와 상태 관리, 백트래킹 방식 익히기

수요코딩회 프로젝트 목표

GitHub 기반 알고리즘 학습 관리 서비스 설계

백엔드 구조 설계 및 핵심 기능 구현

Codex 기반 Vibe Coding 실험

GitHub OAuth, Repo 분석, Commit 기반 풀이 분석 기능 구현

2. 시도한 접근 방식

이번 주에는 두 가지 축으로 학습을 진행했다.

1. 알고리즘 학습

주로 다음 접근 방식으로 문제를 해결했다.

문제를 보고 가능한 알고리즘 유형을 먼저 추정

상태(state)를 정의

탐색 방식 결정

재귀

완전탐색

시간복잡도 검토

Python 코드로 구현 후 테스트

특히 재귀 문제와 백트래킹의 경우 다음 방식으로 접근했다.

종료 조건(base case) 먼저 정의

재귀 호출 구조 설계

상태 복구(backtracking) 여부 확인

2. 해커톤 프로젝트 접근 방식

프로젝트는 GitHub 기반 알고리즘 학습 대시보드 서비스로 방향을 잡았다.

서비스 핵심 구조는 다음과 같다.

GitHub OAuth 로그인
      ↓
Repository 선택
      ↓
Issues / Commits 동기화
      ↓
Commit 기반 풀이 분석
      ↓
알고리즘 Skill Map 분석
      ↓
약점 기반 문제 추천

백엔드는 Flask 기반으로 개발했고
GitHub API를 활용해 다음 데이터를 가져왔다.

repository issues

commits

changed files

DB는 SQLite 기반으로 운영 상태를 저장하도록 설계했다.

3. 문제와 해결 과정

문제 1 — GitHub API 데이터 처리 구조

초기에는 GitHub 데이터를 매 요청마다 가져오는 구조로 설계했다.

문제점

API 호출이 많아짐

성능 저하

동일 commit을 반복 분석

해결

GitHub를 원본 데이터 소스로 두고
DB를 캐시 + 분석 결과 저장소로 사용하는 구조로 변경했다.

GitHub → 원본 데이터
DB → 서비스 상태 및 분석 결과

문제 2 — 문제 해결 판정 로직

단순히 commit만으로 문제를 해결했다고 판단하기 어려웠다.

그래서 다음 기준을 설계했다.

  • 풀이 인정 기준

commit에 해당 문제 파일 존재

파일명이 issue 제목 규칙과 매칭

  • 실행 가능한 코드

현재 MVP에서는

commit + 파일명 매칭

기준으로 1차 판정 로직을 구현했다.

문제 3 — 알고리즘 유형 분석

문제 유형 분석 기준이 필요했다.

그래서 다음 taxonomy를 정의했다.

# 1차 도메인
구현
수학
자료구조
정렬
탐색
# 1차 도메인 + 2번째 카테고리
구현 계열: 구현, 문자열, 사고력, 시뮬레이션, 재귀
자료구조 계열: 그래프, 배열, 스택, 큐, 트리, 해시, 힙
탐색 계열: BFS, DFS, 그리디, DP, 완전탐색, 이분탐색, 최단경로, 탐색
수학, 정렬은 각각 독립 도메인으로 매핑

각 영역 아래 세부 카테고리를 정의하여 Skill Map을 생성하도록 구현했다.

4. 새롭게 배운 점

1. 알고리즘 학습

이번 주 가장 크게 느낀 것은 문제 풀이보다 사고 과정이 더 중요하다는 점이다.

특히 재귀, 완전탐색, 백트레킹 문제에서는

상태 정의 → 탐색 구조 → 종료 조건

순서로 접근하는 것이 중요하다는 것을 배웠다.

2. 서비스 설계

단순히 기능을 만드는 것과
실제 서비스를 설계하는 것은 완전히 다르다는 것을 느꼈다.

특히 다음 부분이 중요했다.

데이터 흐름 설계

GitHub API 활용

DB 설계

API 구조 설계

AI 기반 개발 방식

이번 프로젝트에서 Codex 기반 개발을 적극적으로 사용했다.

느낀 점

빠른 구조 설계에 매우 유리

반복 코드 작성 속도 증가

하지만 아키텍처 판단은 사람이 해야 한다

5. 다음 주 계획

알고리즘 학습

다음 주에는 자료구조 문제를 더 집중적으로 학습할 계획이다.

이분 탐색

분할 정복

스택/큐/링크드리스트

해시테이블

수요코딩회

미니-레디스(Mini-Redis) 개발 예정.

목표

문제 풀이 속도 개선

시간복잡도 분석 능력 강화

0개의 댓글