Algorithm

Graph

DFS

  1. 수열 추측하기
  2. 조합 구하기
  3. 피자 배달 거리
  4. A -> B
  5. 가장 가까운 수
  6. 줄다리기
  7. 바둑대회
  8. 팰린드롬의 경우수 **
  9. IP 주소 **
  10. 알파코드 9번 유형 + 메모제이션

BFS

  1. 최단 거리
  2. 숨바꼭질 2
  3. 숨바꼭질 3
  4. 숨바꼭질 4
  5. 이모티콘
  6. 타일 점프
  7. 집으로 이동
  8. 송아지를 잡자 **
  9. 미로의 최단거리 통로 (전형적인 기초 BFS문제)
  10. 집을 짓자 (다시 풀기)
  11. 숲속의 기사 (10번 문제와 유사)

DFS&BFS

  1. BFS_DFS 기초 확인 문제
  2. BFS_DFS 기초2
  3. 단지번호붙이기
  4. 아기 상어2

그래프 최단거리

  1. 최소 비행료
  2. 최소 환승 경로 (1번 문제와 짝)
  3. 벽 허물기
  4. 방향 바꾸기 (3번 문제와 짝)
  5. 공 굴리기 (구글 인턴 문제로 나온 유형)
  6. 교육 과정 (위상 정렬 문제) **

Greedy

Greedy

  1. 결혼식
  2. 최대 수입 스케쥴
  3. 멀티탭 스케줄링 (다시 풀기)

최신기출

  1. 침몰하는 타이타닉
  2. 이동횟수
  3. 스프링쿨러
  4. 꽃이 피는 최단시간
  5. 전투 게임
  6. 최대 인원수

Dijkstra

  1. 다익스트라 알고리즘
  2. 최소비용 구하기 (다시 풀기)

Union&Find

  1. Union&Find (개념)

MST

  1. 최소스패닝트리 (개념)

Dynamic

  1. 다이나믹 프로그래밍
  2. 최대증가수열
  3. 냅색 알고리즘
  4. 동전 교환
  5. 동전 교환2
  6. 점프 (다시 풀기)
  7. 1, 2, 3 더하기 4 (다시 풀기)
  8. 기타리스트 (다시 풀기)
  9. 크리보드 (다시 풀기)
  10. 평범한 배낭
    -> 중복이 안생기도록 해야 하는 냅색 알고리즘
  11. 1학년
    -> DFS로 조합 구하듯이 풀면 시간 초과 나오는 문제
  12. 데스노트 (다시풀기)
  13. 소형기관차 (다시풀기)

Bruteforce

  1. 사탕 게임
  2. 감소하는 수 (다시 풀기)

Stack & Queue

  1. 괄호의 값
  2. 최대 길이 연속수열 (Q3_2)
  3. 현관문 출입순서
  4. 피부과 + 시간파싱

우선순위 큐

  1. CPU 스케쥴링
  2. 가장 많이 사용된 회의실

수학

  1. 유클리드 호제법
  2. 소수 알고리즘
  3. 소수
  4. 쉽게 푸는 문제 (다시 풀기)

Two pointer

  1. 부분합

문자열

  1. 보이어 무어법

시뮬레이션

  1. 사라디 타기
    [2 ~ 4번 미로에서 방향바꾸는 문제]
  2. 청소
  3. 잃어버린 강아지 (2번 심화 문제)
  4. 좌석 번호 (3번 비슷한 문제)
  5. 최대길이 바이토닉 수열
  6. 과일 가져가기
  7. 비밀 번호
  8. 회의실 면담

해싱

  1. 한 번 사용한 최초문자
  2. 같은 빈도수 만들기
  3. 서로 다른 빈도수 만들기
  4. 음수가 있는 부분수열 (two pointer로 풀 수 없는 부분수열 문제) **
  5. 회장 선거 (hash의 키로 다른 자료구조가 들어가는 문제)

HashSet

  1. 최대 길이 연속수열

시간 파싱

  1. 문서 도난
  2. 경고 메일

정렬

  1. 이진수 정렬
  2. 수열 찾기
  3. 카드 가져가기
  4. 심사 위원
  5. 모임 장소 (꼭 다시 풀기 -> 아이디어 중요함)
  6. 멀티 태스킹 (꼭 다시 풀기 -> 아이디어 중요함)
  7. 최소 회의실 개수

추가 문제

SW Expert Academy