Skip to content

Algorithm-Passport/AlgorithmStudy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

알고리즘 스터디

❓알고리즘 스터디의 목표

스터디 기간 내 solved.ac 의 클래스 5 까지의 모든 문제의 알고리즘을 이해하고 간단히 응용할 수 있다.

🌏문제 출처

백준 알고리즘 사이트

👨🏻‍💼진행 방식

  • 1주일에 2회 (월,금) 진행
  • 회당 한 개의 알고리즘에 대하여 난이도 상,중,하 에 해당하는 문제를 각자 풀이한다.
  • 풀이할 때 상대방이 이해할 수 있을 정도의 주석을 달아야 한다.
  • 사용하는 언어에 제약은 없다. 권장하는 언어는 C++, Python3, Java 이다.
  • 스터디 날짜에 매칭된 상대방과 카톡 또는 메일로 시간을 잡고, 해당 시간에 코드 설명 및 질문을 진행한다. (권장: 본인이 짠 코드를 설명하기 및 질문 답변 (15분 ~ 20분), 상대방이 짠 코드 설명 듣기 및 질문 (15분 ~ 20분)
  • Zoom 또는 원격 회의 프로그램(예시)의 화면 공유를 통해 1인당 n명한테 설명을 해야 한다.(대부분 1:1 로 진행되지만, 불가피하게 한명이 참석하지 못하는 경우 최대 2명과 설명을 진행 할 수도 있음)
  • 본인의 파트너가 Pull Request를 올린 후 본인이 파트너의 Pull Request에 코드 평가를 적고 Merge 한다.
  • 활발한 질문이나 지적 지향

🗓️스터디 로드맵

날짜 알고리즘 최상
1주차 구현 괄호의 값 사탕 게임 결혼식
2주차 그래프 탐색 바이러스 나이트의 이동 안전 영역
3주차 다이나믹 프로그래밍 돌 게임 가장 큰 증가 부분 수열 카드 구매하기
4주차 문자열 처리 팰린드롬 만들기 잃어버린 괄호 IPv6
5주차 백트래킹 모든 순열 부등호 연산자 끼워넣기
6주차 구현 숫자 정사각형 치킨 배달 2048 (Easy)
7주차 다이나믹 프로그래밍 01타일 오르막 수 파이프 옮기기 1
8주차 문자열 처리 듣보잡 IOIOI 가르침
9주차 그래프 탐색 효율적인 해킹 친구 트리의 지름
10주차 트리 구조 상근이의 여행 트리 순회 사회망 서비스(SNS)
11주차 세그먼트 트리 재귀 히스토그램 뒤집기
12주차 백 트래킹 로또 N-Queen
13주차 시뮬레이션 스위치 켜고 끄기 프린터 큐 빗물 원판 돌리기
14주차 다이나믹 프로그래밍 1로 만들기 기타리스트 괄호 행렬 곱셈 순서
15주차 이분 탐색 나무 자르기 공유기 설치 개똥벌레 중량제한
16주차 그래프 탐색 숫자판 점프 섬의 개수 말이 되고픈 원숭이 퍼즐
17주차 자료 구조 에디터 최소 힙 문제집
18주차 문자열 회사에 있는 사람 키로거 AC 문자열 폭팔
19주차 구현 별 찍기 - 19 단어 뒤집기 2 단어 맞추기 소용돌이 예쁘게 출력하기
20주차 그리디 소가 길을 건너간 이유 3 강의실 배정 과제
21주차 다이나믹 프로그래밍 Generations of Tribbles 1로 만들기 2 연속합 2 사전
22주차 문자열 처리 부분 문자열 염색체
23주차 Data structure 스택 데이터 체커
24주차 구현 ZOAC 3 배열돌리기1 달력 ZOAC
25주차 브루트포스 번데기 숫자야구 꽃길 카드 섞기
26주차 그래프 탐색 DFS와 BFS 토마토 인구 이동 카드 섞기
27주차 동적계획법 다리 놓기 1로 만들기 호텔 동전 1
28주차 동적계획법 계단 오르기 가장 긴 증가하는 부분 수열 스티커 함께 블록 쌓기
29주차 백트래킹 N과 M(11) 근손실 영재의 시험 스도쿠
30주차 그리디 에너지 드링크 동전 0 꿀 따기 우체국
31주차 이분탐색 예산 입국심사 징검다리 건너기 공유기 설치
32주차 시물레이션 마법사 상어와 비바라기 미세먼지 안녕 후보 추천하기 톱니바퀴

깃허브 사용법

  1. 터미널에 git clone https://github.com/Algorithm-Passport/AlgorithmStudy.git <원하는폴더명> 을 입력한다.
  2. cd <원하는폴더명> 으로 클론한 폴더에 들어간다.
  3. master 브렌치에서 git checkout -b <브랜치명> 을 입력한다. (항상 브렌치 만들기전에 pull(git pull -a)하고 만들것!)
  4. cd src 로 src 폴더에 들어간다.
  5. src 폴더에 본인의 닉네임의 폴더를 만들고 그 폴더로 들어간다. (처음에 1번만 만들면 됨)
  6. 이제 본인의 닉네임의 폴더에 주차별로 폴더를 생성한 뒤 c나 파이썬 파일을 만들고 문제를 푼다.
  7. 문제를 다 풀었으면 깃허브에 푸쉬한다. (주의 : 항상 본인의 브랜치로 푸쉬해야함.!) (예) git add . -> git commit -m “test” -> git push origin <본인의브랜치명>
  8. 푸쉬했으면 깃허브로 돌아와서 본인의 브렌치를 master 브렌치로 pull request을 날리면 된다.(PR을 날릴때 본인 깃허브 아이디 <20xx.0x.xx> 형식으로 날릴것)
  9. 그 주차 파트너가 PR을 확인후 상대방 깃허브 아이디 <20xx.0x.xx> 형식으로 마스터 브렌치에 머지해주기
  10. 주차별로 3번과정으로 돌아가 반복하면 된다.

🖥️추가적으로 배우고 싶은 알고리즘

  • 분할 정복
  • 베낭 문제
  • 해시맵
  • 트리
  • 다이내믹 프로그래밍
  • 그리디 알고리즘
  • 문자열
  • 비트마스킹

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published