Skip to content

m0onsoo/USCode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

180 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

USCode ✌️

Overview

Welcome to USCode - a collaborative coding interview preparation repository designed to help our team master technical interviews for US tech companies. This repository serves as our central hub for sharing solutions, discussing problem-solving strategies, and tracking our progress through various coding challenges.

Our mission is to build a strong foundation in data structures, algorithms, and system design while fostering a supportive learning environment where we can grow together and achieve our career goals in the US tech industry.

🧑‍💻 Members

Name
Moonsoo Park @m0onsoo
Ji Min Lee @masibasi
Yoonjae Hwang @YoonjaeH
Ellie Eunsung Roh @happysungb
Minho Jang @wkdalsgh192

💻 Workflow & Rules

  • Use the format: problem number_person name.py

  • Push your solutions before the study session day and merge during the study session time

  • Explain your solution process through comments (in English)

  • Include LeetCode's suggested time complexity and space complexity as comments at the top of each file

🗓️ Roadmap

1️⃣ Phase 1: Foundation Building (Weeks 1-4)

Week 1: Arrays & Hashing

  1. [NeetCode] #49. Group Anagrams
  2. [NeetCode] #347. Top K Frequent Elements
  3. [FAANG Interview] #238. Product of Array Except Self (Amazon/Meta)

Week 2: Two Pointers

  1. [NeetCode] #167. Two Sum II - Input Array Is Sorted
  2. [NeetCode] #15. 3Sum
  3. [FAANG Interview] #11. Container With Most Water (Google/Meta)

Week 3: Sliding Window

  1. [NeetCode] #3. Longest Substring Without Repeating Characters
  2. [NeetCode] #424. Longest Repeating Character Replacement
  3. [FAANG Interview] #567. Permutation in String (Meta)

Week 4: Stack & Binary Search

  1. [NeetCode] #150. Evaluate Reverse Polish Notation
  2. [NeetCode] #74. Search a 2D Matrix
  3. [FAANG Interview] #33. Search in Rotated Sorted Array (Amazon/Google)

2️⃣ Phase 2: Core Pattern Mastery (Weeks 5-8)

Week 5: 1-D Dynamic Programming

  1. [NeetCode] #322. Coin Change
  2. [NeetCode] #139. Word Break
  3. [FAANG Interview] #198. House Robber (Moloco)

Week 6: 2-D Dynamic Programming

  1. [NeetCode] #62. Unique Paths
  2. [NeetCode] #1143. Longest Common Subsequence
  3. [FAANG Interview] #140. Word Break II (Amazon/Google)

Week 7: Linked List

  1. [NeetCode] #19. Remove Nth Node From End of List
  2. [NeetCode] #143. Reorder List
  3. [FAANG Interview] #2. Add Two Numbers (Amazon/Meta)

Week 8: Trees

  1. [NeetCode] #102. Binary Tree Level Order Traversal
  2. [NeetCode] #98. Validate Binary Search Tree
  3. [FAANG Interview] #230. Kth Smallest Element in a BST (Amazon/Meta)

3️⃣ Phase 3: Advanced & Real-world Preparation (Weeks 9-11)

Week 9: Heaps (Priority Queue) & Tries

  1. [NeetCode] #973. K Closest Points to Origin
  2. [NeetCode] #211. Design Add and Search Words Data Structure
  3. [FAANG Interview] #215. Kth Largest Element in an Array (Amazon/Meta)

Week 10: Backtracking & Graphs

  1. [NeetCode] #46. Permutations
  2. [NeetCode] #207. Course Schedule
  3. [FAANG Interview] #79. Word Search (Amazon/Meta)

Week 11: Greedy & Intervals

  1. [NeetCode] #55. Jump Game
  2. [NeetCode] #56. Merge Intervals
  3. [FAANG Interview] #435. Non-overlapping Intervals (Meta/Google)

Week 12: Bit Manipulation

  1. [NeetCode] #7. Reverse Integer
  2. [NeetCode] #371. Sum of Two Integers
  3. [FAANG Interview] #137. Single Number II (Google/Amazon/Apple)

4️⃣ Phase 4: Randomized Mock Interviews (Weeks 13-20)

Week 13

  1. [Easy] #680. Valid Palindrome II
  2. [Easy] #226. Invert Binary Tree
  3. [Medium] #695. Max Area of Island
  4. [Medium] #287. Find the Duplicate Number
  5. [Hard] #135. Candy

Week 14

  1. [Easy] #122. Best Time to Buy and Sell Stock II
  2. [Easy] #71. Simplify Path
  3. [Medium] #133. Clone Graph
  4. [Medium] #213. House Robber II
  5. [Hard] #23. Merge k Sorted Lists

Week 15

  1. [Easy] #104. Maximum Depth of Binary Tree
  2. [Easy] #217. Contains Duplicate
  3. [Medium] #54. Spiral Matrix
  4. [Medium] #518. Coin Change II
  5. [Hard] #76. Minimum Window Substring

Week 16

  1. [Easy] #242. Valid Anagram
  2. [Easy] #141. Linked List Cycle
  3. [Medium] #210. Course Schedule II
  4. [Medium] #53. Maximum Subarray
  5. [Hard] #297. Serialize and Deserialize Binary Tree

Week 17

  1. [Easy] #70. Climbing Stairs
  2. [Easy] #543. Diameter of Binary Tree
  3. [Medium] #994. Rotting Oranges
  4. [Medium] #560. Subarray Sum Equals K
  5. [Hard] #127. Word Ladder

Week 18

  1. [Easy] #206. Reverse Linked List
  2. [Easy] #704. Binary Search
  3. [Medium] #17. Letter Combinations of a Phone Number
  4. [Medium] #739. Daily Temperatures
  5. [Hard] #295. Find Median from Data Stream

Week 19

  1. [Easy] #110. Balanced Binary Tree
  2. [Easy] #1. Two Sum
  3. [Medium] #130. Surrounded Regions
  4. [Medium] #152. Maximum Product Subarray
  5. [Hard] #84. Largest Rectangle in Histogram

Week 20

  1. [Easy] #572. Subtree of Another Tree
  2. [Easy] #155. Min Stack
  3. [Medium] #684. Redundant Connection
  4. [Medium] #438. Find All Anagrams in a String
  5. [Hard] #124. Binary Tree Maximum Path Sum

5️⃣ Phase 5: High-Frequency Mix (Weeks 21-28)

Week 21

  1. [Easy] #268. Missing Number
  2. [Easy] #100. Same Tree
  3. [Medium] #417. Pacific Atlantic Water Flow
  4. [Medium] #36. Valid Sudoku
  5. [Hard] #239. Sliding Window Maximum

Week 22

  1. [Easy] #21. Merge Two Sorted Lists
  2. [Easy] #1046. Last Stone Weight
  3. [Medium] #399. Evaluate Division
  4. [Medium] #5. Longest Palindromic Substring
  5. [Hard] #25. Reverse Nodes in k-Group

Week 23

  1. [Easy] #234. Palindrome Linked List
  2. [Easy] #338. Counting Bits
  3. [Medium] #73. Set Matrix Zeroes
  4. [Medium] #621. Task Scheduler
  5. [Hard] #329. Longest Increasing Path in a Matrix

Week 24

  1. [Easy] #108. Convert Sorted Array to BST
  2. [Easy] #392. Is Subsequence
  3. [Medium] #743. Network Delay Time
  4. [Medium] #146. LRU Cache
  5. [Hard] #41. First Missing Positive

Week 25

  1. [Easy] #617. Merge Two Binary Trees
  2. [Easy] #283. Move Zeroes
  3. [Medium] #48. Rotate Image
  4. [Medium] #91. Decode Ways
  5. [Hard] #212. Word Search II

Week 26

  1. [Easy] #160. Intersection of Two Linked Lists
  2. [Easy] #509. Fibonacci Number
  3. [Medium] #138. Copy List with Random Pointer
  4. [Medium] #300. Longest Increasing Subsequence
  5. [Hard] #4. Median of Two Sorted Arrays

Week 27

  1. [Easy] #112. Path Sum
  2. [Easy] #202. Happy Number
  3. [Medium] #542. 01 Matrix
  4. [Medium] #16. 3Sum Closest
  5. [Hard] #10. Regular Expression Matching

Week 28

  1. [Easy] #190. Reverse Bits
  2. [Easy] #94. Binary Tree Inorder Traversal
  3. [Medium] #547. Number of Provinces
  4. [Medium] #452. Minimum Number of Arrows to Burst Balloons
  5. [Hard] #85. Maximal Rectangle

📚 References

Primary Resources

  • LeetCode - The gold standard for coding interview practice
  • NeetCode - Structured learning path with video explanations

Additional Study Materials

Practice Platforms

  • HackerRank - Additional practice problems
  • CodeSignal - Company-specific practice tests
  • Pramp - Mock interview practice with peers

Interview Preparation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages