My algorithm solution repository
Daily commit - I will commit at least one algorithm problem once a day.
2020/02/01 ~ at this momen
Swift & Java
- for문과 if문을 사용하는 반복문
- 재귀함수를 사용할때는 기저 사례를 설정해줘야하며, 재귀 함수의 깊이가 너무 깊어지지 않도록 주의
Title | Solution | Difficulty | Time | Space | See | Etc |
---|---|---|---|---|---|---|
Add Binary | Swift | Easy | O(n) | O(n) | LeetCode | |
Best Time to Buy and Sell Stock | Swift | Easy | O(n) | O(1) | LeetCode | |
Binary Watch | Swift | Medium | O(n^2) | O(n) | LeetCode | |
Defanging an IP Address | Swift | Easy | O(1) | O(1) | LeetCode | [대체, 제거] replacingOccurrences() |
Decrypt String from Alphabet to Integer Mapping | Swift | Easy | O(n) | O(n) | LeetCode | |
Goat Latin | Swift | Easy | O(n) | O(n) | LeetCode | |
H-Index | Swift | Level 2 | O(n) | O(n) | 프로그래머스 | 코딩테스트 고득점 Kit |
Increasing Decreasing String | Swift | Easy | O(n) | O(n) | LeetCode | |
Is Subsequence | Swift | Easy | O(n) | O(n) | LeetCode | |
Last Stone Weight | Swift | Easy | O(nlogn) | O(n) | LeetCode | |
Minimum Number of Steps to Make Two Strings Anagram | Swift | Medium | O(n) | O(n) | LeetCode | [ASCII값으로 변경] utf8 |
JadenCase 문자열 만들기 | Swift | Level 2 | O(n) | O(1) | 프로그래머스 | |
Jewels and Stones | Swift | Easy | O(J+S) | O(1) | LeetCode | |
K번째수 | Swift | Level 1 | O(n) | O(1) | 프로그래머스 | 코딩테스트 고득점 Kit |
Maximum Number of Balloons | Swift | Easy | O(n) | O(1) | LeetCode | |
Move Zeroes | Swift | Easy | O(n) | O(1) | LeetCode | |
N개의 최소공배수 | Swift | Level 2 | O(n) | O(1) | 프로그래머스 | |
Plus One | Swift | Easy | O(n) | O(1) | LeetCode | |
Reverse Only Letters | Swift | Easy | O(n) | O(n) | LeetCode | |
Reverse String | Swift | Easy | O(1) | O(1) | LeetCode | |
Reverse Vowels of a String | Swift | Easy | O(n) | O(n) | LeetCode | |
Reverse Words in a String III | Swift | Easy | O(n) | O(n) | LeetCode | [문자열 분리] Split(), [마지막 문자열 제거] dropLast |
Split a String in Balanced Strings | Swift | Easy | O(n) | O(1) | LeetCode | |
To Lower Case | Swift | Easy | O(1) | O(1) | LeetCode | [lowerCase로 변경] lowercased() |
Unique Email Addresses | Swift | Easy | O(n) | O(1) | LeetCode | [중간에 제거] components |
Unique Morse Code Words | Swift | Easy | O(n) | O(n) | LeetCode | |
Z | Swift | 40.911% | O(1) | O(n) | 백준 알고리즘 | pow대신 비트연산(1>>n) |
가운데 글자 가져오기 | Swift | Level 1 | O(1) | O(n) | 프로그래머스 | 코딩테스트 고득점 Kit |
가장 큰 수 | Swift | Level 2 | O(n) | O(n) | 프로그래머스 | 코딩테스트 고득점 Kit |
걸그룹 마스터 준석이 | Swift | 62.963% | O(n^m) | O(n) | 백준 알고리즘 | |
국영수 | Swift | 49.600% | 백준 알고리즘 | 정렬 default | ||
기능개발 | Swift | Level 2 | O(n) | O(n) | 프로그래머스 | 코딩테스트 고득점 Kit |
다리를 지나는 트럭 | Swift | Level 2 | 프로그래머스 | 코딩테스트 고득점 Kit | ||
다음 큰 숫자 | Swift | Level 2 | O(n) | O(1) | 프로그래머스 | |
다트게임 | Swift | Level 1 | O(n^2) | O(n) | 프로그래머스 | 2018 KAKAO BLIND RECRUITMENT |
두 개 뽑아서 더하기 | Swift | Level 1 | O(n^2) | O(n) | 프로그래머스 | |
두 정수 사이의 합 | Swift | Level 1 | O(n) | O(1) | 프로그래머스 | |
멀쩡한 사격형 | Swift | Level 2 | O(n) | O(1) | 프로그래머스 | 코딩테스트 고득점 Kit |
모의고사 | Swift | Level 1 | O(n) | O(n) | 프로그래머스 | 코딩테스트 고득점 Kit |
문자열 내 p와 y의 개수 | Swift | Level 1 | O(n) | O(n) | 프로그래머스 | |
문자열 압축 | Swift | Level 2 | O(n^2) | O(n) | 프로그래머스 | 2020 KAKAO BLIND RECRUITMENT |
베스트앨범 | Swift | Level 3 | O(nm) | O(nm) | 프로그래머스 | 코딩테스트 고득점 Kit |
보석 쇼핑 | Swift | Level 3 | O(n) | O(n) | 프로그래머스 | 2020 카카오 인턴십 |
블랙잭 | Swift | 42.418% | O(n^3) | O(n) | ||
비밀지도 | Swift | Level 1 | O(n^2) | O(n) | 프로그래머스 | 2018 KAKAO BLIND RECRUITMENT |
소수 만들기 | Swift | Level 2 | O(n^3) | O(1) | 프로그래머스 | Summer/Winter Coding(~2018) |
쇠막대기 | Swift | Level 2 | O(n) | O(n) | 프로그래머스 | 코딩테스트 고득점 Kit |
수빈이의 수열 | Swift | 79.636% | O(n) | O(n) | ||
수식 최대화 | Swift | Level 2 | ? | ? | 프로그래머스 | 2020 카카오 인턴십 |
수열의 값 | Swift | 39.521% | 백준 알고리즘 | |||
수 찾기 | Swift | 29.458% | O(logn) | O(n) | 백준 알고리즘 | Binary Search |
숫자 야구 | Swift | Level 2 | O(n) | O(1) | 프로그래머스 | 코딩테스트 고득점 Kit |
스택 수열 | Swift | 32.340% | O(n) | O(n) | ||
스킬트리 | Swift | Level 2 | O(n^m) | O(1) | Summer/Winter Coding(~2018) | |
실패율 | Swift | Level 1 | O() | O() | 프로그래머스 | 2019 KAKAO BLIND RECRUITMENT |
안테나 | Swift | 36.565% | 백준 알고리즘 | 정렬 | ||
영어 끝말잇기 | Swift | Level 2 | O(n) | O(n) | 프로그래머스 | Summer/Winter Coding(~2018) |
완주하지 못한 선수 | Swift | Level 1 | O(n) | O(1) | 프로그래머스 | 코딩테스트 고득점 Kit |
오픈채팅방 | Swift | Level 2 | O(n) | O(n) | 프로그래머스 | 2019 KAKAO BLIND RECRUITMENT |
위장 | Swift | Level 2 | O(n logn) | O(n) | 프로그래머스 | 코딩테스트 고득점 Kit |
음계 | Swift | 54.058% | O(1) | O(1) | ||
전화번호 | Swift | Level 2 | O(n^2) | O(1) | 프로그래머스 | 코딩테스트 고득점 Kit |
정수 제곱근 판별 | Swift | Level 1 | O(1) | O(1) | 프로그래머스 | |
종이접기 | Swift | Level 3 | O(n^2) | O(n) | 프로그래머스 | 코딩테스트 고득점 Kit |
주식가격 | Swift | Level 2 | O(n^2) | O(n) | 프로그래머스 | 코딩테스트 고득점 Kit |
중복 숫자 갯수 | Swift | 함수 6번 | O(n) | O(n) | 부스트캠프2020 | 부스트캠프2020 |
최댓값과 최솟값 | Swift | Level 2 | O(n) | O(1) | 프로그래머스 | |
최솟값 만들기 | Swift | Level 2 | O(n) | O(1) | 프로그래머스 | |
카펫 | Swift | Level 2 | O(sqrt(n)) | O(1) | 프로그래머스 | 코딩테스트 고득점 Kit |
크레인 인형뽑기 게임 | Swift | Level 1 | O(n*m) | O(n) | 프로그래머스 | 2019 카카오 개발자 겨울 인턴십 |
탑 | Swift | Level 2 | O(n^2) | O(n) | 프로그래머스 | 코딩테스트 고득점 Kit |
튜플 | Swift | Level 2 | O(n^2) | O(n) | 프로그래머스 | 2019 카카오 개발자 겨울 인턴십 |
프린터 | Swift | Level 2 | O(n) | O(n) | 프로그래머스 | 코딩테스트 고득점 Kit |
행복 | Swift | 74.357% | O(n) | O(n) | ||
후보키 | Swift | Level 2 | 프로그래머스 | 2020 카카오 인턴십 | ||
애틋한 선물 | Swift | ★1 | O(n^2) | O(n^2) | ||
신에게는 아직 12척의 배가 있사옵니다 | Swift | ★2 | O(n^n) | O(n^n) | ||
택배왕 안홍자 | Swift | ★3 | O(n^2) | O(n^2) | ||
구슬 수집가 | Swift | ★2 | O(n) | O(n) |
Title | Solution | Difficulty | Time | Space | Etc |
---|---|---|---|---|---|
Mixing Milk | Swift | 68.707% | O(n) | O(1) | |
The candy war | Swift | 65.104% | O(n^2 + m) | O(n) | Set을 이용해 배열의 값이 모두 같은지 확인 %를 이용한 순환배열처럼 index알아내기 |
공 | Swift | 70.306% | O(n) | O(n) | swapAt |
두개의 손 | Swift | 56.338% | |||
로봇 청소기 | Swift | 51.526% | O(n^n) | O(n^m) | |
뱀 | Swift | 35.319% | O(n+x) | O(n^2) | |
보너스 점수 | Swift | 78.986% | O(n) | O(n) | |
수열의 변화 | Swift | 54.693% | O(n^k) | O(n) | |
이름궁합 테스트 | Swift | 57.851% | O((n+m)^2) | O(n) | |
주사위 굴리기 | Swift | 41.316% | |||
주사위 세개 | Swift | 56.788% | O(1) | O(n | |
주사위 네개 | Swift | 42.845% | O(1) | O(n) | |
지능형 기차 | Swift | 77.818% | O(1) | O(1) | |
체스판 다시 칠하기 | Swift | 46.313% | O(n^4) | O(n^2) | |
키패드 누르기 | Swift | Level 1 | O(n) | O(n) | |
탈출 | Swift | 30.897% | O(nm) | O(nm) | |
프린터 큐 | Swift | 53.788% | O(n logn) | O(n) | |
회전하는 큐 | Swift | 48.706% | ? | O(n) | [Int] : Array(1...n) |
시공의 폭풍속으로 | Swift | ★1 | O(n^m) | O(1) | |
수의 비밀 | Swift | ★1 | O(n) | O(1) | |
환상의 조합 | Swift | ★2 | 재귀 : O(2^n) | 재귀: O(n) |
답을 직접 구하기는 어렵지만, 답을 가정할 수 있고, 해당 답이 맞는지 틀린지 확인하는 문제에서 자주 사용
Title | Solution | Difficulty | Time | Space | See | Etc |
---|---|---|---|---|---|---|
찾아라 비밀의 열쇠 | Swift | ★2 | O((K+N)logN) | O(n) | 구름 |
Title | Solution | Difficulty | Time | Space | See | Etc |
---|---|---|---|---|---|---|
특등사수 | Swift | ★2 | O(n^m) | O(1) | 최대공약수(GCD) | |
골드바흐의 추측 | Swift | ★2 | O(1) | O(1) | 소수 - 에라토스트네스의 체 | |
세포분열 | Swift | ★3 | O(n) | O(1) |
- 최적화 문제(optimization problem)를 해결하는데 사용할 수 있는 가장 간단하며 쉽게 구현할 수 있는 알고리즘
- 단, 간단한 만큼 가장 효과적인 답을 찾을 수 있는 문제는 매우 적으니 주의
- 선택의 방법에 주의하자!
- 예를 들어 i번째 단계에서 A라는 조건을 이용하여 최적의 해를 선택했다면, i번째 이외의 모든 단계에서도 A라는 조건을 이용하여 해를 구해야한다.
Title | Solution | Difficulty | Time | Space | See | Etc |
---|---|---|---|---|---|---|
APC는 왜 서브태스크 대회가 되었을까? | Swift | 74.247% | O(n^2) | O(n) | 백준 알고리즘 | swift로 혼자 푼 문제, 풀이법에 다시 생각하게 해준 문제 |
ATM | Java | 66.275% | O(n) | O(n) | 백준 알고리즘 | |
DNA | Swift | 57.232% | O(n^m) ~ O(n) | O(1) | 백준 알고리즘 | |
Minimum Subsequence in Non-Increasing Order | Swift | Easy | O(n) | O(1) | LeetCode | |
Two City Scheduling | Swift | Easy | O(n) | O(1) | LeetCode | |
Partition Labels | Swift | Easy | O(n) | O(1) | LeetCode | |
Group the People Given the Group Size They Belong To | Swift | Medium | O(n) | O(n) | LeetCode | |
Minimum Add to Make Parentheses Valid | Swift | Medium | O(n) | O(1) | LeetCode | |
강의실 배정 | Swift | 28.655% | O(n^n) | O(n^2) | 백준 알고리즘 | 우선순위 큐 문제, 언어적 한계 |
거스름돈 | Swift | 61.284% | O(1) | O(1) | 백준 알고리즘 | |
계산기 | Swift | 50.000% | 백준 알고리즘 | |||
근우의 다이어리 꾸미기 | Swift | 34.690% | O(n) | O(n) | 백준 알고리즘 | |
기타줄 | Swift | 29.757% | O(n) | O(1) | 백준 알고리즘 | |
네트워크 연결 | Swift | 55.495% | O(E logE) | O(E) | 백준 알고리즘 | |
단속카메라 | Swift | Level 3 | O(n^2) | O(1) | 프로그래머스 | 코딩테스트 고득점 Kit |
대회 or 인턴 | Swift | 42.138% | O(1) | O(1) | 백준 알고리즘 | |
도시 분할 계획 | Swift | 48.847% | O(E logE) | O(E) | 백준 알고리즘 | |
동전 0 | Swift | 54.570% | O(n) | O(n) | 백준 알고리즘 | |
뒤집기 | Swift | 53.950% | O(n) | O(n) | 백준 알고리즘 | |
로프 | Swift | 44.164% | O(n) | O(1) | 백준 알고리즘 | |
만취한 상범 | Swift | 70.118% | O(n) | O(n) | 백준 알고리즘 | |
문자열 | Swift | 52.122% | O(a^b) | O(1) | 백준 알고리즘 | |
바이러스 | Swift | 43.304% | O(E logE) | O(n) | 백준 알고리즘 | |
반도체 설계 | Swift | 51.950% | 백준 알고리즘 | |||
별자리 만들기 | Swift | 51.975% | O(E logE) | O(E) | 백준 알고리즘 | |
병든 나이트 | Swift | 42.247% | O(1) | O(1) | 백준 알고리즘 | |
분해합 | Swift | 48.760% | O(n) | O(1) | 백준 알고리즘 | |
우주신과의 교감 | Swift | 28.903% | O(E logE) | O(E) | 백준 알고리즘 | |
잃어버린 괄호 | Swift | 49.596% | O(n) | O(n) | 백준 알고리즘 | |
섬 연결하기 | Swift | Level 3 | O(E lgE) | O(E) | 프로그래머스 | 코딩테스트 고득점 Kit |
저울 | Swift | 36.995% | O(n) | O(n) | 백준 알고리즘 | |
초콜릿 자르기 | Swift | 71.625% | O(N*M) | O(N*M) | 백준 알고리즘 | |
최소 스패닝 트리 | Swift | 38.676% | O(E logE) | O(E) | 백준 알고리즘 | |
체육복 | Swift | Level 1 | O(n) | O(n) | 프로그래머스 | 코딩테스트 고득점 Kit |
친구 네트워크 | Swift | 27.113% | O(E logE) | O(E) | 백준 알고리즘 | |
큰 수 만들기 | Swift | Level 2 | O(n) | O(n) | 프로그래머스 | 코딩테스트 고득점 Kit |
토너먼트 만들기 | Swift | 51.220% | O(n) | O(1) | 백준 알고리즘 | |
한 줄로 서기 | Swift | 57.181% | O(n^2) | O(n) | 백준 알고리즘 | |
행성 터널 | Swift[미해결] | 37.923% | O(E logE) | O(E) | 백준 알고리즘 | |
회의실배정 | Swift | 28.426% | O(n logn) | O(1) | 백준 알고리즘 | |
힙 정렬 | Swift | 57.377% | O(nlog n) | O(n) | 백준 알고리즘 | |
30 | Swift | 35.125% | O(n) | O(1) | 백준 알고리즘 | |
학생회실에는 프린터가 한 대뿐입니다 | Swift | ★2 | O(n^2) | O(n^2) | ||
부업의 달인 | Swift | ★3 | O(n^2) | O(n^2) |
- BFS를 이용하여 최단 거리, 최소비용과 같이 최솟값과 관련된 문제를 해결할 수 있는데, 이때 그래프의 가중치(시간, 비용, 거리 등)가 1이어야만 한다.
- DFS는 주로 완전 탐색이나 백트래킹과 같이 탐색의 횟수, 즉 그래프의 최대 경로가 정해져 있거나 예측 가능한 경우에 주로 이용
Title | Solution | Difficulty | Time | Space | See | Etc |
---|---|---|---|---|---|---|
All Paths From Source to Target | Swift | Medium | O(n^n) | O(n^2) | LeetCode | |
Beautiful Arrangement | Swift | Medium | O(n^n) | O(n) | LeetCode | |
Combination | Swift | Medium | O(n^n) | O(n) | LeetCode | |
Combination Sum | Swift | Medium | O(n^n) | O(2^n - 1) | LeetCode | |
Combination Sum II | Swift | Medium | O(n^n) | O(2^n - 2) | LeetCode | |
Combination Sum III | Swift | Medium | O(n^n) | O(nCk) | LeetCode | |
Count Servers that Communicate | Swift | Medium | O(n^n) | O(n^2) | LeetCode | |
DFS와 BFS | Swift | 32.154% | O(n^n) | O(n^2) | 백준 알고리즘 | |
Find Center of Star Graph | Swift | Medium | LeetCode | |||
Find the Town Judge | Swift | Medium | LeetCode | |||
Find the City With the Smallest Number of Neighbors at a Threshold Distance | Swift | Medium | LeetCode | 플로이드 와샬 | ||
Generate Parentheses | Swift | Medium | O(2^n) | O(n) | LeetCode | |
Gray Code | Swift | Medium | O(n^n) | O(2^n) | LeetCode | |
Jump Game III | Swift | Medium | O(n^n) | O(n) | LeetCode | |
Keys and Rooms | Swift | Medium | O(n^n) | O(n^2) | LeetCode | 모든 노드 방문 체크 문제 |
Letter Combinations of a Phone Number | Swift | Medium | O(4^n) | O(n) | LeetCode | |
Lexicographically Smallest String After Applying Operations | Swift | Medium | O(n^n) | O(n) | LeetCode | |
N과 M (1) | Swift | 60.797% | O(n^n) | O(n) | 백준 알고리즘 | |
Maximal Network Rank | Swift | Medium | LeetCode | |||
Maximum Depth of N-ary Tree | Swift | Easy | LeetCode | |||
Minimum Number of Vertices to Reach All Nodes | Swift | Medium | O(n^n) | O(n) | LeetCode | |
Minesweeper | Swift | Medium | O(n^n) | O(n^2) | LeetCode | |
MooyoMooyo | Swift | 49.764% | O(n^n) | O(n) | 백준 알고리즘 | |
Palindrome Partitioning | Swift | Medium | O(n^n) | O(n) | LeetCode | |
Permutation Sequence | Swift | Medium | LeetCode | |||
Permutations | Swift | Medium | O(n^n) | O(n) | LeetCode | |
Permutations II | Swift | Medium | O(n^n) | O(n) | LeetCode | |
Redundant Connection | Swift | Medium | LeetCode | |||
Regions Cut By Slashes | Swift | Medium | O(n^n) | O(n^2) | LeetCode | |
Sort Integers by The Power Value | Swift | Medium | LeetCode | |||
Subsets II | Swift | Medium | O(n^n) | O(n) | LeetCode | |
Validate Binary Tree Nodes | Swift | Medium | O(n^n) | O(n) | LeetCode | |
가장 먼 노드 | Swift | Level 3 | O(E logV) | O(E) | 프로그래머스 | 코딩테스트 고득점 Kit |
경주로 건설 | Swift | Level 3 | O(E logE) | O(n^3) | 프로그래머스 | 2020 카카오 인턴 |
괄호 추가하기 | Swift | 35.231% | O(n^n) | O(n) | 백준 알고리즘 | 삼성 A형 기출 문제 |
네트워크 | Swift | Level 3 | O(n^2) | O(n) | 프로그래머스 | 코딩테스트 고득점 Kit, 참고 |
단어 변환 | Swift | Level 3 | O(m^2 * n) | O(m^2 * n) | 프로그래머스 | 코딩테스트 고득점 Kit |
단지번호붙이기 | Swift | 38.291% | O(n^n) | O(n^2) | 백준 알고리즘 | |
바이러스 | Swift | 43.304% | O(n^n) | O(n^2) | 백준 알고리즘 | |
아기 상어 | Swift | 38.369% | 백준 알고리즘 | |||
여행경로 | Swift | Level 3 | O(n^n) | O(n) | 프로그래머스 | 코딩테스트 고득점 Kit |
유기농 배추 | Swift | 34.852% | O(n^n) | O(n^2) | 백준 알고리즘 | |
상근이의 여행 | Swift | 62.114% | O(n^n) | O(n) | 백준 알고리즘 | |
섬의 개수 | Swift | 49.383% | O(n^n) | O(n^2) | 백준 알고리즘 | |
소수 찾기 | Swift | Level 2 | O(n^n) | O(1) | 프로그래머스 | 코딩테스트 고득점 Kit |
숨바꼭질 | Swift | 24.837% | O(V+E) | O(V) | 백준 알고리즘 | |
캐슬 디펜스 | Swift | 29.730% | ? | ? | 백준 알고리즘 | |
타겟 넘버 | Swift | Level 2 | O(n^n) | O(1) | 프로그래머스 | 코딩테스트 고득점 Kit |
토마토 | Swift | 31.991% | O(E log E) | O(n^2) | 백준 알고리즘 | |
트리 | Swift | 25.367% | 백준 알고리즘 | |||
파이프 옮기기 1 | Swift | 49.184% | O(n^n) | O(n^2) | 백준 알고리즘 | |
플로이드 | Swift | 43.861% | O(n^3) | O(n^2) | 백준 알고리즘 |
Title | Solution | Difficulty | Time | Space | See | Etc |
---|---|---|---|---|---|---|
최단 경로 | Swift | 23.021% | 백준 알고리즘 | |||
미로 탐색 | Swift | 36.173% | O(E logE) | O(n^3) | 백준 알고리즘 |
- 최적 부분 구조 : 문제의 정답이 작은 문제에 대해서도 정답이여야한다. 즉, 전체 문제의 정답은 작은 뭔제들의 정답을 포함하며 작은 문제들을 통해 큰 문제를 풀 수 있어야한다.
- 부분 문제 반복 : 문제를 여러개의 작은 문제로 나눌 수 있으며, 나눈 작은 문제들을 전체 문제를 푸는 방법과 같은 방법으로 풀 수 있어야 한다.
- 똑같은 문제를 여러 번 푸는 것을 막기 위해 메모이제이션이라는 기법을 사용하는데, 이는 미리 구해둔 정답을 메모해놓고 만약 다음번에 다시 해당 문제를 풀고자 한다면 미리 메모해둔 정답을 가져와서 쓰는 기법 -> 가장 좋은 예제는 점화식(인접한 항들 사이의 관계식)이다.
- 하향식 방법 : 믄 문제를 풀 수 잇는 작은 문제가 될떄까지 나눈 후, 작은 문제들을 풀어 얻은 정답들을 합쳐가며 큰 문제의 갑을 구하는 방식으로, 주로 재귀 함수를 이용하여 구현
- 상향식 방법 : 가장 작은 문제부터 시작하여 큰 문제를 풀 수 있을 때까지 차례대로 문제들을 풀어나가는 방식으로 주로 반복문을 이용해 구현
Title | Solution | Difficulty | Time | Space | See | Etc |
---|---|---|---|---|---|---|
Climbing Stairs | Swift | Easy | O(n) | O(1) | LeetCode | |
Divisor Game | Swift | Easy | O(n^2) | O(n) | LeetCode | |
House Robber | Swift | Easy | O(n) | O(n) | LeetCode | |
Maximum Subarray | Swift | Easy | O(n) | O(1) | LeetCode | |
Min Cost Climbing Stairs | Swift | Easy | O(n) | O(n) | LeetCode | |
Range Sum Query - Immutable | Swift | Easy | O(1) | O(n) | LeetCode | |
Coin Change | Swift | Medium | O(n^n) | O(n) | LeetCode | |
Count Square Submatrices with All Ones | Swift | Medium | O(mn) | O(mn) | LeetCode | |
Counting Bits | Swift | Medium | O(n) | O(n) | LeetCode | |
Matrix Block Sum | Swift | Medium | O(mn) | O(mn) | LeetCode | |
Perfect squares | Swift | Medium | O(n^2) | O(n) | LeetCode | |
Stone Game | Swift | Medium | O() | O() | LeetCode | |
Unique Paths | Swift | Medium | O(nm) | O(nm) | LeetCode | |
가장 큰 정사각형 찾기 | Swift | 36.276% | 백준 알고리즘 | |||
내려가기 | Swift | 47.666% | O(n^2) | O(n) | 백준 알고리즘 | |
동전 1 | Swift | 42.588% | O(n^k) | (n) | 백준 알고리즘 | |
안전영역 | Swift | 47.666% | O(n^2) | O(n) | 백준 알고리즘 | |
욕심쟁이 판다 | Swift | 30.076% | O(n^n) | O(n^2) | 백준 알고리즘 | |
상자넣기 | Swift | 47.666% | O(n^2) | O(n) | 백준 알고리즘 | |
점프 | Swift | 28.055% | O(n^2) | O(n^2) | 백준 알고리즘 | |
정수 삼각형 | Swift | 58.748% | O(n^2) | O(1) | 백준 알고리즘 | |
치킨집 사장님 | Swift | ★2 | O(n) | (n) | 구름 | |
다리 건설 | Swift | ★3 | O(n^2) | O(n) | 구름 | |
세계 여행 | Swift | ★4 | O(n^n) | O(n^2) | 구름 |
Title | Solution | Etc |
---|---|---|
그래프 모든 경로 경우의 수 | Swift |
Title | Solution | Etc |
---|---|---|
Singly Linked List | Swift | |
Heap | Swift | Array |
Heap Sort | Swift | Maximun, Array |
LIS | Swift | 1. 완전 탐색 : O(2^N) 2. DP : O(N^2) 3. 이진 탐색 : O(NlogN) |
Union-Find | Swift |
GeonHyeong Kim, [email protected].
AlgoriGym is available under the MIT license. See the LICENSE file for more info.