Cera
항상 고민하는 번역가.말랑이 또맹이 누나.
항상 고민하는 번역가.말랑이 또맹이 누나.
꿈에서도 코딩하는 개발자
최장 증가 부분 수열(LIS:Longest Increasing Subsequence) 응용 문제다. LIS 구현할 때, 다음 숫자를 업데이트 시킬 위치를 찾는 과정에서 cpp STL <algorithm>의 lower_bound()를 이용해 O(LogN)으로 처리해야만 전...
double 자료형의 사용과 유효숫자를 고려하여 천분률로 count 하는 것이 포인트다. 코딩 문제에서 두 점의 거리를 구하거나 반지름의 길이를 구하거나 할 때, 굳이 sqrt로 루트를 씌우지 말고, 제곱인 채로 두는 것이 이득이다.
최단 거리 알고리즘 문제. Dijkstra로 풀이 하였으며, 경로 기억을 위한 약간의 코드 추가만 이루어졌다.
Dijkstra를 두 번 쓰는 문제다. ‘꿀꿀이’들이 오고 가고 했을 때 총합이 작아야 하고, 이 총합 중에서 max 값을 갖는 꿀꿀이의 거리를 구하는 문제.
위상정렬(Topological Sorting) 문제이다. 입력 받을 때, ‘Parent’ Node의 수를 count 하고, 부모가 없는 Node 부터 queue에 넣어 BFS로 탐색한다. 현재 노드에서 갈 수 있는 모든 노드의 ‘Parent’ count를 차감 하고, 만약 coun...
동적 계획법(Dynamic Programming) 문제. DP는 항상 풀이 설계하는데 많은 어려움을 겪는거 같다. 무엇을 어떻게 Memoization 시킬 것인가는 정말 많은 문제를 풀어보는 방법 밖에 없는 것 같다.
Union-Find or Disjoint-set 문제. 이 알고리즘을 쓰지 않으면 빈 방을 찾는 과정에서 시간 복잡도가 증가하여 효율성 테스트를 통과할 수 없다.
이분탐색(Binary Search) 문제. 일단 이 문제는 Binary Search 카테고리 힌트가 없었다면, 풀지 못했을 것 같다.
heapq를 import 하여 문제를 해결한다. 완판(싸이클)으로 가장 작은 길이의 접시를 소진할 수 있는지를 ‘while’문에서 검사한다.
dp 문제. 언제나 그렇듯.. dp는 문제 해결방향을 막 바로 생각해내기가 어렵다.
또 다시 dp 문제. 첫 번째 집을 택하는 것을 ‘flag’로 가져가야하나? 싶었는데 그냥 가져가는 경우 / 안가져가는 경우 나눠서 dp 배열을 두 개로 만들면 되는거였다.
생애 첫 개발자 인터뷰 후기 겸 해결하지 못한 부분들 답답해서 정리.
‘Search’ 알고리즘의 기본. Binary Search
간단하지만은 않은 문제. O(n2) 보다 효율적이게 풀어라!
주어진 Linked List 클래스의 Traversal과, 숫자를 다시 Linked List로 만드는 것이 관건.
‘Sort’ 알고리즘의 기본. Bubble Sort
python에서 Tree 클래스를 세팅하는 법을 알아 보자.
2021년도 9월 둘째 주 주말은 잊지 못할 주말이 될 것 같다. 무려 코딩테스트 3개가 몰려 있던 주말이었다.
Selection Sort. Bubble Sort과 거의 비슷하게 간단한 기본적인 정렬 방법.
Insertion Sort. 도서관 사서가 책을 정리하듯이 매 스텝에서 원소의 적절한 위치를 찾아서 넣는 방법.
Merge Sort O(nlogn)을 보장하는 효율적인 정렬 방식.
크게 어렵진 않은데 이것저것 신경쓸게 있다.
Medium. ‘word cnt’를 주면서 중복 수인 ‘k’와 일치하는지 확인 후 일치 한다면 스택에서 ‘pop()’시키는 것이 포인트. ‘pop()’ 이후에는 다시 현재 스택의 마지막 ‘word’와 일치하는지 체크하며 카운트를 늘려 나간다.
언제나 Dynamic Programming은 어렵다. ‘DP’는 단시간안에 풀라고 만든 문제가 아닌 것 같다.
Easy. Blind 75 LeetCode Questions. Dynamic Programming의 정말 기초적인 문제로 처음 접하는 사람에게 설명할 때 유용할 문제인 것 같다.
Easy. Blind 75 LeetCode Questions. Array 문제는 효율성을 따지면 Time Over가 뜨는 경우가 많으므로 항상 시간 복잡도를 고려해 주어야 한다.
Medium. Blind 75 LeetCode Questions. Interval
Easy. Blind 72 LeetCode Questions. Tree
Hard. Blind 75 LeetCode Questions. Linked List
호이?
Nintendo Games (Switch)
PC Games. Steam.
Playstation Games
XBox Games.
인공지능, 머신 러닝 한 번 해봅시다. 21.04.30
맨땅에 헤딩한 흔적들…
잡다한 공간 속의 더욱 잡다한 것들
HTML / CSS / JS for Web Design.
C/C++ Memo.
암호화폐, 블록체인 등을 다루는 공간입니다.
Computer Science 전공지식 공부. (학습 내용이므로 잘못된 내용이 있을 수 있습니다)
D3 Memo.
Databse.
LOLHUB Project에서는 웹으로 App을 사용하기 위해 Python 특화 웹 프레임워크인 Django를 사용했다. 처음에는 로컬에서 PYQT로 GUI 짜서 버튼에다가 모델 엮어서 사용하다가 Web에서 사용가능하게끔 하기 위해 Django로 서비스를 만든 것이다. 상용 프로그...
‘DevOps’(?)라고 불러도 될지 모르겠는데.. 큰 의미로는 맞지 않을까?
My Game Collections! GAME DOTS!
Git, GitHub, GitLab 설정하는데 유용한 팁들을 정리한 공간 입니다.
Python, C/C++ 등 언어 관련 정리 공간 입니다.
PostgreSQL.
Python Memo.
React Memo.
You and I! YUMI!