Skip to content

[일영] 코딩 테스트 대비 알고리즘 스터디

Notifications You must be signed in to change notification settings

JunYear/2024-Coding-Test-Study

 
 

Repository files navigation

Study-CodeTest_2024-01

✍🏻 배경/동기

취업 준비를 위한 실전 코딩 테스트 준비

🎯 목표 (OKR)

  • Objective (최종 목표)
    • 주차 별 스터디 내용에 대해 각 개인이 설명을 할 수 있는 수준에 도달하기
  • Key Results (핵심 결과 지표)
    • 목요일 스터디 이후 GitHub repository에 해당 주 일요일 11:59까지 공부내용(공부한 개념, 작성한 코드) 회고 작성
    • 스터디원 전원 6주차 중 4주차 이상 대면 출석
    • OKR추가 사항은 더 고려해봅시다~

🙋🏻‍♂️ 참여자

  • 최원형 곽지훈 양기택 정준 박종현 김성연 이남경 최민석 채민기 한수빈 김민혁 김진우 표성우 어태규

⌚ 대면 참여 시간

  • 매주 목요일 09:30~12:30
  • 대면 시 언급 필요 사항
    • 문제 풀이 시간 제한 조정
    • 주석 규칙 정규화
      • 개인 코드에 생각 과정을 주석으로 달아놓기
      • main 브랜치에 올릴 때 해당 문제 코드 & 풀이과정 문서 함께
      • 진행 후 정하되 간단한 예시는 아래와 같음.

        문제에 대한 간단한 코멘트 -> 자신이 해결하며 느낀 혹은 경험한 내용 질문 풀이과정 버그 및 디버깅 가설 자기가 활용한 라이브러리 혹은 언어 별 특징 -> 간단한 설명

💡 방법

  • 학습 교재
    • 쉽게 배우는 알고리즘(개정판 3)⟫ + 기타 개인 선택
  • 언어와 라이브러리 사용의 자유도?
    • -> 언어 자유! 라이브러리 자유!
  • (1문제 기준) : 고민하는 시간 vs 검색하는 시간의 비중 조절
    • ->개인별 시간 체크 후 평균 조사한 후 결정하기
      • 문제당 _?_분
  • 생성형 AI 사용 규칙
    • -> 초기에는 회고에서 사용 Good, But 풀이에 직접 사용 X 단, 진행에 따라 개인적으로 필요성이 제기될 경우 완화(=AI 사용) 파트너 프로그래밍 방법 사용 고려
    • -> 우선 초기에는 개인 플레이!
  • '개념 공부' 먼저 or '풀이 시도' 먼저?
    • -> 개념 먼저!
  • GitHub 사용
    • 개인 push는 선택 / 일영GitHub에 fork는 필수
    • Branch
      • main - 해당 주의 정리 공간
      • stage - 실 작업 공간
    • 디렉토리 구조
      • 금지 문자들 : \ / : * ? " < > | .
      • /
        └───주차별
            └───문제별
                └───개인별
        
    • Commit 규칙
      • [플랫폼]_문제정보(번호 등)_주관적 난이도(A, B, C, D)_성공여부(O, X)
        • 예시) "[백준]_1010_A_O"
        • 주관적 난이도
          • A: Easy~
          • B: So So
          • C: 좀 치네?
          • D: 이건 뭔 문제여..
  • 프로그래밍 언어
    • 개인 선택(Python, C++, Java를 많이 사용.)
    • 이에 있어서 해결 방법에 따른 참여 집중도 및 서로 간 이해 정도의 차이 발생 가능
    • 문제 배포 후 문제에 대해 설명(모든 참여자가 돌아가며 진행)
  • 문제풀이 규칙
    • 자신의 코드에 주석 달기
    • 회의 예상시간: 3시간(문제 풀이 (개인)발표 + 알고리즘 개념 공부)
    • 진행 기간: 우선 겨울 방학 동안(이후 상황에따라 지속 여부 결정)

🔗 참고 자료

📆 주차별 커리큘럼

  • 1주차: 알고리즘 기초 및 복습
    • 주제: 기본 자료구조(배열, 리스트, 스택, 큐), 시간복잡도 이론 (Big-O 표기법)
    • 목표: 기초 자료구조 이해 및 복잡도 분석
    • 자료: 자료구조 및 알고리즘 기초 책 또는 온라인 강좌
  • 2주차: 브루트 포스 및 재귀
    • 주제: 브루트 포스 알고리즘, 재귀적 사고
    • 목표: 모든 가능한 경우의 수를 탐색하는 방법 습득
    • 자료: 알고리즘 문제 해결 전략 책 또는 온라인 자료
  • 3주차: 정렬 알고리즘
    • 주제: 버블, 선택, 삽입, 병합, 퀵 정렬 등
    • 목표: 다양한 정렬 알고리즘 이해 및 구현
    • 자료: 정렬 알고리즘 관련 도서 및 온라인 자료
  • 4주차: 탐색 알고리즘
    • 주제: 이진 탐색, 깊이 우선 탐색(DFS), 너비 우선 탐색(BFS)
    • 목표: 효율적인 탐색 기법 익히기
    • 자료: 자료구조 및 알고리즘 관련 도서, 온라인 강의
  • 5주차: 동적 프로그래밍
    • 주제: 동적 프로그래밍 개념, 메모이제이션
    • 목표: 복잡한 문제를 하위 문제로 나누어 해결하는 방법 습득
    • 자료: 동적 프로그래밍 관련 도서 및 온라인 강의
  • 6주차: 그래프 알고리즘
    • 주제: 그래프 기본 개념, 최단 경로 알고리즘 (다익스트라, 벨만-포드)
    • 목표: 그래프 이론 이해 및 그래프 기반 문제 해결 능력 향상
    • 자료: 그래프 이론 및 알고리즘 관련 도서, 온라인 강의
  • +주차: 그리디 (탐욕) 알고리즘
    • 주제: 탐욕 알고리즘 개념 및 활용, 대표적인 탐욕 알고리즘 소개 (클러스터링, 최소 신장 트리)
    • 목표: 탐욕 알고리즘의 이론을 이해하고 다양한 문제에 적용하는 능력 향상
    • 자료: 탐욕 알고리즘 관련 도서, 온라인 강의, 실제 문제 적용 사례 연구

About

[일영] 코딩 테스트 대비 알고리즘 스터디

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 57.0%
  • Java 33.7%
  • JavaScript 5.0%
  • Swift 3.1%
  • C++ 1.2%