Git Product home page Git Product logo

algorithm-self-study's Introduction

Algorithm study

알고리즘 문제 풀이 기록 저장소

  • 현재 진행 과정
<코딩 테스트 합격자 되기 - 자바 편> 책 스터디

하루에 문제 한 개 이상 풀기.

1️⃣ 책 문제

푼 문제
  1. 배열 정렬하기
  2. 배열 제어하기
  3. 두 개 뽑아서 더하기
  4. 모의고사
  5. 행렬의 곱셈
  6. 실패율
  7. 방문 길이
  8. 올바른 괄호
  9. 10진수를 2진수로 변환하기
  10. 괄호 회전하기
  11. 짝지어 제거하기
  12. 주식 가격
  13. 크레인 인형뽑기 게임

2️⃣ Programmers

기초 트레이닝, 입문 완료 ✔
코딩 기초 트레이닝 캘린더 코딩테스트 입문 캘린더 (1)
Programmers lv.1 완료 ✔

image

+) 2024 KAKAO WINTER INTERNSHIP 가장 많이 받은 선물

Programmers lv.2 정답률 70% 이상 완료 ✔
  • 최댓값과 최솟값
  • JadenCase 문자열 만들기
  • 최솟값 만들기
  • 올바른 괄호
  • 이진 변환 반복하기
  • 숫자의 표현
  • 다음 큰 숫자
  • 피보나치 수
  • 짝지어 제거하기
  • 카펫

Programmers lv.2 정답률 60% 이상 완료 ✔
  • 영어 끝말잇기
  • 구명보트
  • 점프와 순간 이동
  • 예상 대진표
  • N개의 최소공배수
  • 멀리 뛰기
  • 귤 고르기
  • 연속 부분 수열 합의 개수
  • 괄호 회전하기
  • 할인 행사
  • n^2 배열 자르기
  • H-Index
  • 행렬의 곱셈
  • [1차] 캐시
  • 의상
  • 튜플
  • 기능개발
  • 프로세스
  • 뉴스 클러스터링
  • 피로도
  • 전화번호 목록
  • k진수에서 소수 개수 구하기
  • 타겟 넘버

Programmers lv.2 정답률 50% 이상 - 풀이 중
  • [3차] 압축
  • [3차] n진수 게임
  • 게임 맵 최단거리
  • 모음사전
  • 더 맵게
  • 주차 요금 계산
  • 방문 길이
  • 주식 가격
  • 뒤에 있는 큰 수 찾기
  • 땅따먹기
  • 스킬트리
  • 오픈채팅방
  • 롤케이크 자르기
  • [3차] 파일명 정렬
  • [1차] 프렌즈4블록
  • 2xn 타일링
  • 택배상자
  • 가장 큰 수
  • 2개 이하로 다른 비트
  • 쿼드압축 후 개수 세기
  • 숫자 변환하기

Programmers lv.3
  • 정수 삼각형


3️⃣ Leetcode

1. LeetCode Stats Card

LeetCode Stats


2. LeetCode Explore

Array 101 ✔

Introduction

  • Max Consecutive Ones
  • Find Numbers with Even Number of Digits
  • Squares of a Sorted Array

Inserting Items Into an Array

  • Duplicate Zeros
  • Merge Sorted Array

Deleting Items From an Array

  • Remove Element
  • Remove Duplicates from Sorted Array

Searching for Items in an Array

  • Check If N and Its Double Exist
  • Valid Mountain Array

In-Place Operations

  • Replace Elements with Greatest Element on Right Side
  • Remove Duplicates from Sorted Array
  • Move Zeroes
  • Sort Array By Parity
  • Remove Element

Conclusion

  • Height Checker
  • Third Maximum Number
  • Find All Numbers Disappeared in an Array
  • Squares of a Sorted Array

Array and String ✔

Introduction to Array

  • Find Pivot Index
  • Largest Number At Least Twice of Others
  • Plus One

Introduction to 2D Array

  • Diagonal Traverse
  • Spiral Matrix
  • Pascal's Triangle

Introduction to String

  • Add Binary
  • Implement strStr()
  • Longest Common Prefix

Two-Pointer Technique

  • Reverse String
  • Array Partition 1
  • Two Sum 2
  • Minimum Size Subarray Sum

Conclusion

  • Rotate Array
  • Pascal's Triangle 2
  • Reverse Words in a String
  • Reverse Words in a String 3

Hash Table ✔

Design a Hash Table

  • Design HashSet
  • Design HashMap

Practical Application - Hash Set

  • Contains Duplicate
  • Single Number
  • Intersection of Two Arrays
  • Happy Number

Practical Application - Hash Map

  • Two Sum
  • Isomorphic Strings
  • Minimum Index Sum Of Two Lists
  • First Unique Character in a String
  • Intersection of Two Arrays 2
  • Contains Duplicate 2

Practical Application - Design the Key

  • Group Anagrams
  • Valid Sudoku
  • Find Duplicate Subtrees

Conclusion

  • Jewels and Stones
  • Longest Substring Without Repeating Characters
  • 4Sum 2
  • Top K Frequent Elements
  • Insert Delete GetRandom O(1)

Linked List ✔

Singly Linked List

  • Design Linked List

Two Pointer Technique

  • Linked List Cycle
  • Linked List Cycle 2
  • Intersection of Two Linked Lists
  • Remove Nth Node From End of List

Classic Problems

  • Reverse Linked List
  • Remove Linked List Elements
  • Odd Even Linked List
  • Palindrome Linked List

Doubly Linked List

  • Design Doubly Linked List

Conclusion

  • Merge Two Sorted Lists
  • Add Two Numbers
  • Flatten a Multilevel Doubly Linked List
  • Copy List with Random Pointer
  • Rotate List

Queue & Stack ✔

Queue: First-in-first-out Data Structure

  • Design Circular Queue

Stack: Last-in-first-out Data Structure

  • Min Stack
  • Valid Parentheses
  • Daily Temperatures
  • Evaluate Reverse Polish Notation

Queue and BFS

  • Number of Islands
  • Open the Lock
  • Perfect Squares

Stack and DFS

  • Clone Graph
  • Target Sum

Conclusion

  • Implement Queue using Stacks
  • Implement Stack using Queues
  • Decode String
  • Flood Fill
  • 01 Matrix
  • Keys and Rooms

Binary Tree ✔

Traverse A Tree

  • Binary Tree Preorder Traversal
  • Binary Tree Inorder Traversal
  • Binary Tree Postorder Traversal
  • Binary Tree Level Order Traversal

Solve Problems Recursively

  • Maximum Depth of Binary Tree
  • Symmetric Tree
  • Path Sum

Conclusion

  • Construct Binary Tree from Inorder and Postorder Traversal
  • Construct Binary Tree from Preorder and Inorder Traversal
  • Populating Next Right Pointers in Each Node
  • Populating Next Right Pointers in Each Node 2
  • Lowest Common Ancestor of a Binary Tree
  • Serialize and Deserialize Binary Tree

Recursion 1 ✔

Principle of Recursion

  • Reverse String
  • Swap Nodes in Pairs

Recurrence Relation

  • Reverse Linked List
  • Search in a Binary Search Tree
  • Pascal's Triangle 2

Memoization

  • Fibonacci Number
  • Climbing Stairs

Complexity Analysis

  • Maximum Depth of Binary Tree
  • Pow(x, n)

Conclusion

  • Merge Two Sorted Lists
  • K-th Symbol in Grammar
  • Unique Binary Search Trees 2

N-ary Tree ✔

Traversal

  • N-ary Tree Preorder Traversal
  • N-ary Tree Postorder Traversal
  • N-ary Tree Level Order Traversal

Recursion

  • Maximum Depth of N-ary Tree

Trie

Basic Operations

  • Implement Trie(Prefix Tree)

Practical Application 1

  • Map Sum Pairs


4️⃣ 알고리즘 별 문제 풀기 - Leetcode & Programmers

DFS/BFS

Programmers

  • 타겟넘버 - DFS
  • 게임 맵 최단거리 - BFS

Leetcode

DFS

  • 1379 - Find a Corresponding Node of a Binary Tree in a Clone of That Tree
  • 938 - Range Sum of BST
  • 617 - Merge Two Binary Trees
  • 897 - Increasing Order Search Tree
  • 2331 - Evaluate Boolean Binary Tree
  • 590 - N-ary Tree Postorder Traversal

BFS

  • 226 - Invert Binary Tree
  • 104 - Maximum Depth of Binary Tree

Dynamic Programming

Programmers

  • 정수 삼각형

Leetcode

  • 338 - Counting Bits
  • 509 - Fibonacci Number

Prefix Sum

Leetcode

  • 209 - Minimum Size Subarray Sum
  • 238 - Product of Array Except Self
  • 525 - Contiguous Array
  • 724 - Find Pivot Index
  • 930 - Binary Subarrays With Sum
  • 1480 - Running Sum of 1d Array
  • 1588 - Sum of All Odd Length Subarrays
  • 1991 - Find the Middle Index in Array
  • 2485 - Find the Pivot Integer
  • 2574 - Left and Right Sum Differences

algorithm-self-study's People

Contributors

jisoopyo avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.