/beeimp

알고리즘

Primary LanguageJupyter Notebook

알고리즘 문제 풀이

목차


LeetCode

LeetCode Stats

Easy

1. Two Sum

  • 배열
  • 해시 테이블

9. Palindrome Number

  • 수학
  • 문자열

20. Valid Parentheses

  • 배열
  • 스택

21. Merge Two Sorted Lists

  • 연결 리스트
  • 재귀

70. Climbing Stairs

  • DP(동적 계획법)

100. Same Tree

  • 트리
  • 이진 트리
  • DFS(깊이 우선 탐색)
  • BFS(너비 우선 탐색)
  • 해시 함수

104. Maximum Depth of Binary Tree

  • 이진 트리
  • DFS(깊이 우선 탐색)

118. Pascal's Triangle

  • 배열
  • DP(동적 계획법)

119. Pascal's Triangle II

  • 배열
  • DP(동적 계획법)

121. Best Time to Buy and Sell Stock

  • 배열
  • DP(동적 계획법)

125. Valid Palindrome

  • 문자열
  • ASCII

139. Word Break

  • 문자열
  • 해시 테이블
  • DP(동적 계획법)
  • 트라이(Trie)
  • 메모이제이션
  • 너비 우선 탐색(BFS)

141. Linked List Cycle

  • 연결 리스트
  • 해시 테이블
  • 투 포인터

190. Reverse Bits

  • 분할 정복
  • 비트 연산

191. Number of 1 Bits

  • 분할 정복
  • 비트 연산

206. Reverse Linked List

  • 연결 리스트

217. Contains Duplicate

  • 배열
  • 해시 테이블

226. Invert Binary Tree

  • 트리
  • 이진 트리

242. Valid Anagram

  • 정렬
  • 해시 테이블

268. Missing Number

  • 배열
  • 수학

338. Counting Bits

  • DP(동적 계획법)
  • 비트 연산

2423. Remove Letter To Equalize Frequency

  • 문자열
  • 해시 테이블
  • Set
  • Counting

Medium

3. Longest Substring Without Repeating Characters

  • 문자열
  • 해시 테이블
  • Sliding Window

5. Longest Palindromic Substring

  • 문자열
  • DP(동적 계획법)

22. Generate Parentheses

  • 문자열
  • 백트래킹
  • DP(동적 계획법)

33. Search in Rotated Sorted Array

  • 배열
  • 이진 탐색

45. Jump Game II

  • 배열
  • 그리디

48. Rotate Image

  • 배열
  • 행렬

49. Group Anagrams

  • 문자열
  • 해시 테이블
  • 정렬

53. Maximum Subarray

  • 배열
  • DP
  • 카데인 알고리즘

54. Spiral Matrix

  • 배열
  • 행렬
  • 시뮬레이션

55. Jump Game

  • 배열
  • 그리디

56. Merge Intervals

  • 배열
  • 정렬

57. Insert Interval

  • 배열

62. Unique Paths

  • BFS(너비 우선 탐색)
  • DP(동적 계획법)

63. Unique Paths II

  • 배열
  • DP(동적 계획법)

64. Minimum Path Sum

  • 배열
  • 행렬
  • DP(동적 계획법)

73. Set Matrix Zeroes

  • 행렬
  • 해시 테이블

79. Word Search

  • 배열
  • 행렬
  • 백트래킹
  • DFS(깊이 우선 탐색)

91. Decode Ways

  • 문자열
  • DP(동적 계획법)

102. Binary Tree Level Order Traversal

  • 트리
  • 이진 트리
  • BFS(너비 우선 탐색)

113. Path Sum II

  • 트리
  • BFS(너비 우선 탐색)

128. Longest Consecutive Sequence

  • 배열
  • 정렬

133. Clone Graph

  • 노드
  • 해시 테이블
  • Queue
  • BFS(너비 우선 탐색)

153. Find Minimum in Rotated Sorted Array

  • 배열
  • 이분 탐색

198. House Robber

  • 배열
  • DP(동적 계획법)

200. Number of Islands

  • 행렬
  • BFS(너비 우선 탐색)

207. Course Schedule

  • 그래프
  • DFS(깊이 우선 탐색)

213. House Robber II

  • 배열
  • DP(동적 계획법)

238. Product of Array Except Self

  • 배열
  • 프리픽스 합

300. Longest Increasing Subsequence

  • DP(동적 계획법)
  • 이분 탐색

316. Remove Duplicate Letters

  • 문자열
  • 스택
  • 해시 테이블

322. Coin Change

  • 배열
  • DP(동적 계획법)
  • BFS(너비 우선 탐색)

347. Top K Frequent Elements

  • 배열
  • 해시 테이블
  • 정렬
  • 힙(우선순위 큐)

371. Sum of Two Integers

  • 배열
  • 비트 연산

377. Combination Sum IV

  • 배열
  • DP(동적 계획법)

417. Pacific Atlantic Water Flow

  • 배열
  • DFS(깊이 우선 탐색)
  • BFS(너비 우선 탐색)
  • 행렬

424. Longest Repeating Character Replacement

  • 문자열
  • 해시 테이블
  • Sliding Window

435. Non-overlapping Intervals

  • 배열
  • DP(동적 계획법)
  • 그리디

622. Design Circular Queue

  • 디자인
  • 구현

718. Maximum Length of Repeated Subarray

  • 배열
  • DP

823. Binary Trees With Factors

  • DP(동적 계획법)
  • 해시 테이블

1027. Longest Arithmetic Subsequence

  • 배열
  • 해시 테이블
  • DP(동적 계획법)

1996. The Number of Weak Characters in the Game

  • 배열
  • 스택
  • 그리디
  • 정렬

Hard

23. Merge k Sorted Lists

  • 연결 리스트
  • 분할 정복
  • 힙 (우선순위 Queue)
  • 병합 정렬

76. Minimum Window Substring

  • 문자열
  • 해시 테이블
  • 슬라이딩 윈도우

239. Sliding Window Maximum

  • 배열
  • 데크(Dequeue)
  • 인덱싱

295. Find Median from Data Stream

  • 정렬
  • 힙 (우선순위 Queue)

Programmers

Level 1

2022 KAKAO BLIND RECRUITMENT - 신고 결과 받기

  • 문자열
  • 해시 테이블
  • Set

Level 2

최댓값과 최솟값

  • 문자열

2022 KAKAO BLIND RECRUITMENT - 양궁 대회

  • BFS(깊이 우선 탐색)

2022 KAKAO BLIND RECRUITMENT - k진수에서 소수 개수 구하기

  • k 진수
  • 소수

2022 KAKAO TECH INTERNSHIP - 두 큐 합 같게 만들기

  • 큐(Queue)

피로도

  • 완전탐색
  • DFS(깊이 우선 탐색)
  • 순열

전력망 둘로 나누기

  • 완전탐색
  • BFS(너비 우선 탐색)
  • Set

모음 사전

  • 완전탐색
  • 조합
  • 등비수열의 합

Level 3

2022 KAKAO TECH INTERNSHIP - 등산코스 정하기

정수 삼각형

  • DP(동적 계획법)

이중우선순위큐

  • 정렬
  • 힙(우선순위 큐)

최고의 집합

  • 수학

단어 변환

  • BFS(너비 우선 탐색)
  • 해시 테이블

야근 지수

  • 힙(우선순위 큐)

등굣길

  • DP(동적 계획법)

단속카메라

  • 그리디
  • Two Pointers

베스트앨벌

  • 해시 테이블
  • 정렬

숫자 게임

  • Two Pointers
  • 정렬

기지국 설치

  • 수학

불량 사용자

  • 순열
  • Set

2020 카카오 인턴쉽 - 보석 쇼핑

  • 해시 테이블
  • Sliding Window
  • Set

2019 카카오 개발자 겨울 인턴십 - 징검다리 건너기

  • 이진 탐색

가장 먼 노드

  • 그래프
  • BFS(너비 우선 탐색)

섬 연결하기

  • 탐욕법
  • Kruskal

스티커_모으기(2)

  • DP(동적 계획법)

디스크_컨트롤러

  • 힙(우선순위 큐)

여행경로

  • 그래프
  • 백트래킹

2021 KAKAO BLIND RECRUITMENT - 합승 택시 요금

  • 힙(우선순위 큐)
  • 다익스트라

2020 카카오 인턴십 - 경주로 건설

  • BFS(너비 우선 탐색)
  • DP(동적 계획법)
  • 해시 테이블

가장 긴 팰린드롬

  • 문자열
  • Two Pointers

풍선 터트리기

  • 배열
  • DP(동적 계획법)

Level 4

Level 5

코딩 테스트

  • ECOUNT
  • 2023 KAKAO BLIND RECRUITMENT
  • 2022 Dev-Matching: 웹 백엔드 개발자(하반기)-1
  • MIDIUM
  • SKT
  • SK C&C
  • LG CNS
  • 농협은행
  • Gauss Labs
  • 우리FIS
  • 2022 Winter Coding
  • KB국민은행
  • 베이글코드 채용연계형 인턴십 3기 1차 코딩테스트
  • 2022 LG CNS Code Monster 예선