Skip to content

DevBob-Study/Javascript-Test-Study

Repository files navigation

🍙 DevBob-Study/Coding-Test 🍙

코딩 테스트 준비를 위한 스터디의 공용 리포지토리입니다.

  • 기간: 2024년 5월 27일 ~ 모두가 취업할 때까지
  • 일정: 주 4회 예정, 최소 주 2회 이상 참석
    • 코어 타임: 월요일, 화요일, 수요일
    • 문제 발표: 목요일
    • 오후 3시 ~ 오후 6시 (변경될 수도 있음)
  • 사용 사이트: 프로그래머스 / 백준
  • 언어: 가능한 한 자바스크립트

🤗 스터디 멤버

전진영 한서흔 김선구 박주철 강은화


📢 스터디 규칙 (2차)

🤔 문제 해결

  1. 스프레드시트 문제 모음에서 각 주차별 문제를 찾아 해결합니다.
    1. 일주일에 1단계는 5문제, 2단계는 5문제(하루 각각 1문제) 푸는 걸 목표로 합니다.
    2. 프로그래머스 코딩테스트 고득점 Kit에서 풀이한 문제는 제외입니다.
  2. 문제는 최대한 노력해서 해결합니다.
    1. 만약 문제를 해결하지 못했을 경우에는 인터넷 검색 혹은 LLM의 힘을 빌립니다.
    2. 그런 다음, 알고리즘과 문제 해결을 이해하고 문제 해결을 풀이하는 글을 마크다운(.md) 혹은 블로그에 작성해둡니다.
    3. 별개로, 해결한 문제에 대한 풀이는 마크다운(.md) 혹은 블로그에 가능한 한 작성해둡니다. (선택형)
  3. 해결한 문제의 코드는 양식에 맞추어서 리포지토리에 올려둡니다.
  4. 문제를 해결하는 동안 화면 공유 혹은 카메라를 최대한 켜둡니다. (마이크와 사운드는 OFF 가능)
  5. 불참시에는 보이스 혹은 채팅으로 다른 분들께 미리 알려주세요!
  6. 매주 목요일은 문제를 발표하는 날입니다.
    1. 각자 최소 1문제 이상 발표를 목표로 합니다.
    2. 자신이 풀이한 문제를 이해한 상태에서 발표를 진행해야 합니다.
    3. 발표 순서와 발표할 문제는 무작위로 선정합니다.

👩‍🏫 문제 발표

문제 발표는 문제 당 10분 이내로 진행합니다. 너무 길어지면 3시간을 넘길수도 있으니 주의합시다.
제대로 이해하지 못한 상태에서 발표를 진행할 경우, 중단하고 다음 시간에 다시 한 번 더 발표를 진행합니다.

  1. 문제 리뷰에 앞서 해당 문제의 알고리즘 개념을 설명합니다. (선택형)
  2. 문제 풀이에 대한 접근 방식을 설명합니다. (선택형)
  3. 너무 길지 않게, 문제 해결에 사용된 코드에 대한 설명을 진행합니다.
  4. 시간 복잡도 및 공간 복잡도 계산을 진행합니다. 단, 어려울 경우 실행 시간 캡쳐를 보여줍니다.
  5. 사용한 라이브러리가 있을 경우 어떤 라이브러리이고, 어떤 원리인지 설명합니다. (선택형)
  6. 사족(덧붙이고 싶은 말, 문제 풀이에서 힘들었던 부분, 실패한 코드 등등)이 있을 경우 추가적으로 설명합니다.
  7. 발표가 끝난 뒤 코드 및 알고리즘에 대한 Q&A를 진행합니다.

📍 기타 규칙 및 진행 방식

  • 폴더명에 포함된 '문제명'은 프로그래머스 혹은 백준의 공식 문제 명칭을 기준으로 합니다.
  • 플랫폼 약어
    • BOJ = 백준
    • PGS = 프로그래머스

🗃 스터디 작업

  • 세팅 방법
    1. DevBob-Study 리포지토리에서 개인영문명 브랜치를 생성합니다.
    2. 해당 개인영문명 브랜치에서 각 주차별 폴더로 이동합니다.
    3. 주차별 폴더 안에 본인 이름으로 폴더를 생성합니다.
    4. 그리고 본인 이름 폴더 안에 '[레벨단계] 문제명'으로 JS 파일을 생성하고 코드를 작성합니다.
    5. 생성 예시
      1. 7주차/홍길동/[LV1] 짝수와 홀수.js
      2. 10주차/홍길순/[LV2] [1차] 캐시.js
  • main 브랜치 내용 가져오기
    1. DevBob-Study의 main 브랜치에 있는 내용을 가져오려면, main 브랜치의 갱신 이후 우측 상단에 생긴 Sync fork를 누릅니다.
    2. 그리고 Update branch를 눌러 갱신을 진행합니다.
    3. 로컬 브랜치에 대한 Pull 작업은 이러한 갱신 이후에 합니다.
  • 문제 해결이 부분적으로든 전체적으로든 완료되었으면 DevBob-Study의 main 브랜치로 아래의 PR 규칙에 맞게 PR 요청을 해주세요.
구버전 세팅 방법
  • 세팅 방법
    1. DevBob-Study 리포지토리를 포크(Fork)합니다.
    2. 포크한 리포지토리를 에디터에 클론(Clone)합니다.
    3. main 브랜치에서 문제별 폴더로 이동합니다.
    4. 폴더 안에 본인 영문명으로 JS 파일을 생성하고 코드를 작성합니다.
  • main 브랜치 내용 가져오기
    1. DevBob-Study의 main 브랜치에 있는 내용을 가져오려면, main 브랜치의 갱신 이후 우측 상단에 생긴 Sync fork를 누릅니다.
    2. 그리고 Update branch를 눌러 갱신을 진행합니다.
    3. 로컬 브랜치에 대한 Pull 작업은 이러한 갱신 이후에 합니다.
  • 문제 해결이 부분적으로든 전체적으로든 완료되었으면 DevBob-Study의 main 브랜치로 아래의 PR 규칙에 맞게 PR 요청을 해주세요.

💽 Commit 규칙

  • 기본적으로 쓰이는 '기본 Commit'과 기존 코드를 개선했을 경우 사용하는 '수정 Commit'이 나뉘어져 있습니다.
  • 소요 시간 측정이 불가능하거나 실패한 경우에는 ??h ??m을 사용합니다.

💿 기본 Commit

해당 주차 / [플랫폼 약어] 문제명 / 소요 시간
git commit -m "해당 주차 / [플랫폼 약어] 문제명 / 소요 시간(시간h 분m)"
  1. 예시 1) 1주차 / [BOJ] 가장 긴 증가하는 부분 수열 5 / 2m
  2. 예시 2) 3주차 / [BOJ] 알고리즘 수업 - 너비 우선 탐색 2 / 2h 30m
  3. 예시 3) 6주차 / [PGS] 수박수박수박수박수박수? / 30m
  4. 예시 4) 9주차 / [PGS] [1차] 비밀지도 / ??h ??m

📀 수정 Commit

해당 주차 / [FIXED][플랫폼 약어] 문제명 / 소요 시간
git commit -m "해당 주차 / [FIXED][플랫폼 약어] 문제명 / 소요 시간(시간h 분m)"
  1. 예시 1) 1주차 / [FIXED][BOJ] 가장 긴 증가하는 부분 수열 5 / 2m
  2. 예시 2) 3주차 / [FIXED][BOJ] 알고리즘 수업 - 너비 우선 탐색 2 / 2h 30m
  3. 예시 3) 6주차 / [FIXED][PGS] 수박수박수박수박수박수? / 30m
  4. 예시 4) 9주차 / [FIXED][PGS] [1차] 비밀지도 / ??h ??m

🖨 PR 규칙

한꺼번에 보내기: 해당 주차 [플랫폼 약어] 개인이름-행위
개별로 보내기: 해당 주차 [플랫폼 약어] 문제명 개인영문이름-행위
  1. 예시 1) 1주차 [BOJ] 홍길동-제출
  2. 예시 2) 3주차 [PGS] 김영희-수정
  3. 예시 3) 6주차 [BOJ] 수박수박수박수박수박수? gilsoon-수정
  4. 예시 4) 9주차 [PGS] [1차] 비밀지도 cheolsu-오류

📁 리포지토리 구조

해당 주차/플랫폼 약어_문제명/개인영문이름.js
  1. 예시 1) 1주차/BOJ_가장 긴 증가하는 부분 수열 5/gildong.js
  2. 예시 2) 3주차/BOJ_알고리즘 수업 - 너비 우선 탐색 2/younghee.js
  3. 예시 3) 6주차/PGS_수박수박수박수박수박수?/gilsoon.js
  4. 예시 4) 9주차/PGS_[1차] 비밀지도/cheolsu.js
  • 플랫폼과 문제 명칭을 잘못 적어서 다른 폴더에 파일이 들어가지 않도록 주의합시다.

📑 참고하면 좋은 자료


💻 문제 기록

💾 [7주차 ~ 이후] 프로그래머스 - 1~2단계 문제
  • 7주차부터는 프로그래머스 1~2단계 문제를 풀기로 합의
  • 아래의 스프레드시트 문제 모음에서 각 주차에 맞는 문제를 풀기
  • 스프레드시트 문제 모음

💾 [6주차] 프로그래머스 - 코딩테스트 고득점 Kit 3단계
알고리즘 문제 레벨 URL
해시 베스트앨범 3 https://school.programmers.co.kr/learn/courses/30/lessons/42579
힙(Heap) 디스크 컨트롤러 3 https://school.programmers.co.kr/learn/courses/30/lessons/42627
힙(Heap) 이중우선순위큐 3 https://school.programmers.co.kr/learn/courses/30/lessons/42628
탐욕법(Greedy) 섬 연결하기 3 https://school.programmers.co.kr/learn/courses/30/lessons/42861
탐욕법(Greedy) 단속카메라 3 https://school.programmers.co.kr/learn/courses/30/lessons/42884

💾 [5주차] 프로그래머스 - 코딩테스트 고득점 Kit 2단계
알고리즘 문제 레벨 URL
탐욕법(Greedy) 구명보트 2 https://school.programmers.co.kr/learn/courses/30/lessons/42885
탐욕법(Greedy) 조이스틱 2 https://school.programmers.co.kr/learn/courses/30/lessons/42860
탐욕법(Greedy) 큰 수 만들기 2 https://school.programmers.co.kr/learn/courses/30/lessons/42883
깊이/너비 우선 탐색(DFS/BFS) 타겟 넘버 2 https://school.programmers.co.kr/learn/courses/30/lessons/43165
깊이/너비 우선 탐색(DFS/BFS) 게임 맵 최단거리 2 https://school.programmers.co.kr/learn/courses/30/lessons/1844

💾 [4주차] 프로그래머스 - 코딩테스트 고득점 Kit 2단계
알고리즘 문제 레벨 URL
완전탐색 소수 찾기 2 https://school.programmers.co.kr/learn/courses/30/lessons/42839
완전탐색 카펫 2 https://school.programmers.co.kr/learn/courses/30/lessons/42842
완전탐색 피로도 2 https://school.programmers.co.kr/learn/courses/30/lessons/87946
완전탐색 전력망을 둘로 나누기 2 https://school.programmers.co.kr/learn/courses/30/lessons/86971
완전탐색 모음사전 2 https://school.programmers.co.kr/learn/courses/30/lessons/84512

💾 [3주차] 프로그래머스 - 코딩테스트 고득점 Kit 2단계
알고리즘 문제 레벨 URL
스택/큐 다리를 지나는 트럭 2 https://school.programmers.co.kr/learn/courses/30/lessons/42583
스택/큐 주식가격 2 https://school.programmers.co.kr/learn/courses/30/lessons/42584
힙(Heap) 더 맵게 2 https://school.programmers.co.kr/learn/courses/30/lessons/42626
정렬 가장 큰 수 2 https://school.programmers.co.kr/learn/courses/30/lessons/42746
정렬 H-Index 2 https://school.programmers.co.kr/learn/courses/30/lessons/42747

💾 [2주차] 프로그래머스 - 코딩테스트 고득점 Kit 2단계
알고리즘 문제 레벨 URL
해시 전화번호 목록 2 https://school.programmers.co.kr/learn/courses/30/lessons/42577
해시 의상 2 https://school.programmers.co.kr/learn/courses/30/lessons/42578
스택/큐 기능개발 2 https://school.programmers.co.kr/learn/courses/30/lessons/42586
스택/큐 올바른 괄호 2 https://school.programmers.co.kr/learn/courses/30/lessons/12909
스택/큐 프로세스 2 https://school.programmers.co.kr/learn/courses/30/lessons/42587

💾 [1주차] 프로그래머스 - 코딩테스트 고득점 Kit 1단계
알고리즘 문제 레벨 URL
해시 폰켓몬 1 https://school.programmers.co.kr/learn/courses/30/lessons/1845
해시 완주하지 못한 선수 1 https://school.programmers.co.kr/learn/courses/30/lessons/42576
스택/큐 같은 숫자는 싫어 1 https://school.programmers.co.kr/learn/courses/30/lessons/12906
정렬 K번째수 1 https://school.programmers.co.kr/learn/courses/30/lessons/42748
완전탐색 최소직사각형 1 https://school.programmers.co.kr/learn/courses/30/lessons/86491
완전탐색 모의고사 1 https://school.programmers.co.kr/learn/courses/30/lessons/42840
탐욕법(Greedy) 체육복 1 https://school.programmers.co.kr/learn/courses/30/lessons/42862


😆 Special Thanks

About

자바스크립트 코딩 테스트 리포지토리입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6