#Java 14
-
[간만에 스터디] LeetCode Compare Version Numbers
Compare Version Numbers 코드 접근 및 풀이방법 - 각 버전에서 . 기준으로 파트를 나누어 파트별 문자열을 정수로 치환 - 정수로 치환한 버전의 파트별로 대소를 구분 - 대소 구분이 되지 않는다면 같은 버전으로 취급
-
[간만에 스터디] LeetCode Path With Minimum Effort
Path With Minimum Effort 코드 접근 및 풀이방법 - minimum effort(최소 노력)을 구하기 위해 다익스트라 알고리즘 활용 - 경로상 최소 노력(최대 절대 높이 차이)를 유지하기 위해 이전에 구했던 최소 노
-
[간만에 스터디] LeetCode Number of Provinces
Number of Provinces 코드 접근 및 풀이방법 1. 그래프탐색(BFS or DFS)은 그래프에 존재하는 모든 간선을 통해 결국 모든 노드를 방문한다. 1. 단 이 문제의 경우 그래프가 양방향 간선이 존재하기 때문에 반드시
-
[간만에 스터디] LeetCode Longest Common Subsequence
Longest Common Subsequence 코드 최종 Accepted 코드 Wrong Answer 코드 접근 및 풀이방법 1. 중복문제를 정의하기 위해, 전체문자열이 아닌 현재 위치의 문자 기준으로의 공통 문자열이 구성될 수 있
-
[간만에 스터디] LeetCode Partition Array for Maximum Sum
Partition Array for Maximum Sum 코드 최적화 코드 (아래 최적화되지 않은 코드에 비해 약 270배 빠름) 불필요한 이전의 i - j(0..k까지의 내 부분배열)에 해당하는 최적해를 구하러 가는 것이 제거 되었
-
[간만에 스터디] LeetCode Decode Ways
Decode Ways 코드 접근 및 풀이 방법 아래 이미지 색깔별로 중복문제(메모이제이션 대상) 전체 풀이 기록: initi8ors/algorithm2024
-
[간만에 스터디] LeetCode Find the Original Array of Prefix Xor
Find The Original Array of Prefix Xor 코드 접근 및 풀이방법 1. 문제에서 묻는 결과 값은 입력으로 주어지는 값을 xor 연산 전의 원본값이다. 2. xor 연산의 특성을 고려해보니 xor을 연산 결과의
-
[간만에 스터디] LeetCode Next Permutation
Next Permutation 코드 접근 및 풀이방법 - nums.length가 최대 100까지 가므로 실제 순열을 구하는 dfs 방식으로는 100! 까지 될 수 있기 때문에 불가능하다. - 뭔가.. 최대 N^2 까지 할 수 있도록
-
[간만에 스터디] LeetCode Best Time to Buy and Sell Stock II
Best Time to Buy and Sell Stock II 코드 접근 및 풀이방법 전체 풀이 기록: initi8ors/algorithm2024
-
[간만에 스터디] LeetCode Two Sum
Two Sum https://leetcode.com/problems/two-sum/description/ 3번만에 품 (분명히 몇년전에 알고리즘 공부를 한참 할때에도 몇번씩이나 풀어봤던 문제인데 역시나 오랜만에 다시 하려니 다시 백지
-
[간만에 스터디] LeetCode LRU Cache
문제 LRU Cache: capacity 만큼만 담는 캐시를 설계한다. get / put 모두 평균 O(1) 이어야 하고, 용량이 꽉 찬 상태에서 새 키를 넣으면 가장 오래 안 쓴(LRU) 항목을 버린다. - LRUCache(capa
-
HashMap 동시성으로 기준정보가 꼬인 사건
이번 트러블슈팅은 이번 여름에 겪은 HashMap 동시성 사건입니다. 운영하면서 만난, 로그·모니터링 지표에도 잡히지 않는 특수한 케이스라 원인을 잡기까지 유난히 오래 걸렸던 부류라 기록으로 남겨둡니다. 배경 배경을 짧게 설명하자면
-
ElasticSearch 딥다이브 - 6: 역색인을 Java로 직접 만들어보기
5편까지 ES를 "쓰는 사람" 입장에서 역색인부터 분산까지 정리해보고 많은 부분을 명확히 이해할 수 있었습니다. 그러다 보니 직접 역색인 구조를 Java로 구현해보면 어떨까? 라는 생각이 들었습니다. 그래서 마지막 편은 그 핵심(역색
-
자바에서 코틀린으로 - 편함과, 그만큼의 트레이드오프
팀을 옮기고 코틀린(Kotlin)을 본격적으로 쓰게 된 지 몇 달이 됐습니다. 자바를 오래 쓰다 넘어오니 그동안 답답했던 것들이 코틀린 코드 단 몇 줄로 풀리는 순간이 자주 있었는데, 신기하게도 편해진 만큼 딱 그 자리에서 새로운 함