전체 글
-
[linked list] merge two sorted listsAlgorithm/LeetCode 2025. 2. 22. 14:44
✅ Problemhttps://leetcode.com/problems/merge-two-sorted-lists/description/ ✅ Approach & Solution방식1) while문 사용더보기정답 연결리스트에 대한 head, tail 역할 포인터 생성첫 노드 연결에 대한 null 처리를 하지 않도록 하기 위해 dummyNode 생성함/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next)..
-
[카프카 핵심 가이드] CH6. 카프카 내부 메커니즘Study/카프카 핵심 가이드 2025. 2. 19. 00:12
✅ 주요 내용카프카 컨트롤러카프카에서 복제(replication)가 작동하는 방식카프카가 프로듀서와 컨슈머의 요청을 처리하는 방식카프카가 저장을 처리하는 방식 (파일 형식, 인덱스 등) 6.1 클러스터 멤버십카프카는 현재 클러스터의 멤버인 브로커들의 목록을 유지하기 위해 아파치 주키퍼를 사용함각 브로커는 고유한 식별자를 갖음(브로커 설정 파일에 정의하거나 자동으로 생성)주키퍼의 브로커 관리 방식브로커 프로세스는 시작될 때마다 주키퍼에 Ephemeral(휘발성) 노드의 형태로 ID를 등록함카프카 브로커들과 다른 툴들은 브로커가 등록되는 주키퍼의 /brokers/ids 경로를 구독해 브로커가 추가/제거되었을 때 알림 수신동일한 ID를 가진 다른 브로커 시작 시 에러 발생브로커와 주키퍼 간 연결이 끊어질 경우..
-
[linked list] palindrome linked listAlgorithm/LeetCode 2025. 2. 16. 18:50
✅ Problemhttps://leetcode.com/problems/palindrome-linked-list/description/ ✅ Approach & Solution공통리스트의 앞과 뒤의 값을 비교하여 값이 다른 경우 팰린드롬이 아님 방식1) 추가 자료구조 사용더보기1-1) Stack 사용/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.nex..
-
[array] maximum subarrayAlgorithm/LeetCode 2025. 2. 15. 17:10
✅ Problemhttps://leetcode.com/problems/maximum-subarray/description/ ✅ Approach & Solution방식) 시간복잡도 : O(n)더보기부분집합의 합이 양수일 때 : 해당 부분집합 유지부분집합의 합이 음수일 때 : 새로운 부분집합으로 시작class Solution { public int maxSubArray(int[] nums) { int currentSum = 0; int maxSum = Integer.MIN_VALUE; for (int num : nums) { currentSum += num; maxSum = Math.max(maxSum, currentSum);..