| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- math
- 이진트리
- 미디움
- 중간
- hash table
- backtracking
- string
- binary tree
- recursive
- 리트코드
- binary search
- tree
- Binary
- two pointers
- leetcode
- Python
- 쉬움
- 재귀
- list
- DP
- dfs
- easy
- sorting
- matrix
- Array
- 문자열
- linked list
- HashTable
- Medium
- Depth-first Search
- Today
- Total
목록전체 글 (147)
부부의 코딩 성장 일기
1. 문제 링크 https://leetcode.com/problems/move-zeroes/description/ Move Zeroes - LeetCode Can you solve this real interview question? Move Zeroes - Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 2. 문제 설명 정수로 구성된 array nums가 있을 때, 값이 0인 elements를 뒤로 옮기기. (그 외의 elements들은 상대적 순서를 유지해야 한다.) 여기서 ..
1. 문제 링크 https://leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/description/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 2. 문제 설명 아래 형태의 binary tree가 주어졌을 때 struct Node { int val; Node *left; Node ..
코루틴이란? 파이썬은 기본적으로 동기적인 프로그래밍 스타일을 채택하고 있다. 그래서, 기본적인 함수 호출 및 코드 실행은 순차적으로 진행이 되며, 한 작업이 끝나야 다음 작업이 수행된다. 이를 동기 프로그래밍이라고 한다. 반대로 비동기의 경우, 여러 작업을 동시에 수행할 수 있게 하는 프로그래밍 스타일이다. 이는 특히 I/O 작업이나, 네트워크 통신과 같은 지연이 발생하는 작업들을 효율적으로 다루는데 유용하다. 파이썬에서 코루틴은, 비동기 프로그래밍을 지원하는 기능 중 하나라고 보면 된다. 함수의 실행을 일시 중단하고, 나중에 재개할 수 있는 함수이며, 이를 통해 여러 작업ㅇ르 동시에 수행하는 데 유용하고, 비동기 코드를 쉽게 작성할 수 있다. 코루틴을 정의하는 방법은 함수 정의와 유사하지만, 함수를 호..
1. 문제 링크 https://leetcode.com/problems/missing-number/description/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 2. 문제 설명 range[0,n] 사이의 숫자를 중복없이 포함하고 있는 nums라는 array가 주어졌을 때, range[0,n] 범위 해당 array에 빠진 숫자가 1개 있다고 할 때, 그 ..
추상화란? 추상화란 프로그램의 세부 구현을 감추고 필요한 부분만을 노출시키는 것을 의미한다. 추상클래스는 구현하지 않은 추상메소드를 한 개 이상 가지며, 자식 클래스에서 해당 추상 메소드를 반드시 구현하도록 강제한다. 왜 그렇게 할까? 이는 코드를 더 간결하게 만들고 모듈성을 높여 유지보수를 쉽게 만들어준다. 만약 추상클래스가 여러개의 자식 클래스를 가지고 있고, 자식 클래스에서 추상 메소드에서 정의해야 하는 내용이 다르다면, 추상클래스를 사용하는 것이 효율적이겠다. abc Library 이는 python에서 추상 베이스 클래스(ABC - Abstract Base Class)를 정의하는 데 사용된다. 즉, 추상 베이스 클래스는 일종의 템플릿으로, 특정 메서드가 반드시 파생 클래스에서 구현되어야 함을 정..
1. 문제 링크 https://leetcode.com/problems/path-sum-ii/description/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 2. 문제 설명 이진트리의 root와 targetSum이라는 정수가 주어졌을 때, 각 노드의 합이 targetSum과 같으면서 root-to-leaf로 가는 모든 path를 구해서 list에 저장하여..
1. 문제 링크 https://leetcode.com/problems/binary-tree-level-order-traversal-ii/description/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 2. 문제 설명 이진트리의 root가 주어졌을 때, bottom-up level order traversal을 반환 여기서 bottom-up leverl ..
production 환경에 application을 배포하다보면, 예기치못한 에러가 등장하고, 해당 에러가 정확히 어디서 발생했는지, 왜 문제가 일어났는지를 판단하는 것은 쉬운 일이 아니다. 이에, logging하는 것은 필수적이고, 문제를 디버깅하는 작업이 쉬워지게 된다. Python에 여러 logging libaray가 존재하는데, 그 중 가장 인기있는 loguru에 대해 정리해보려한다. 왜 logging library가 필요할까? 사실 print() method를 통해서 쉽게 log를 기록할 수도 있다. 하지만, print()는 아래의 단점들을 가지고 있다. (결국 print()의 단점이기도 하지만 logging library의 장점이 되겠다.) JSON과 같은 구조화된 형식이 아니기도 하고, 심각도..