
리트코드 - 155. Min Stack 출처 - https://leetcode.com/problems/min-stack/?envType=study-plan-v2&envId=top-interview-150 문제 설명 push, pop, top 및 최소 요소를 상수 시간 내에 검색하는 기능을 지원하는 stack을 설계하세요. MinStack 클래스를 구현하세요: MinStack()는 스택 객체를 초기화합니다. void push(int val)는 요소 val을 스택에 추가합니다. void pop()는 스택의 맨 위 요소를 제거합니다. int top()는 스택의 맨 위 요소를 가져옵니다. int getMin()은 스택에서 최소 요소를 검색합니다. 각 함수에 대해 O(1) 시간 복잡도를 가진 솔루션을 구현해야 합..

리트코드 - 2. Add Two Numbers 출처 - https://leetcode.com/problems/add-two-numbers/?envType=study-plan-v2&envId=top-interview-150 문제 설명 주어진 두 개의 비어있지 않은 연결 리스트는 두 개의 음수가 아닌 정수를 나타냅니다. 각 노드는 한 자릿수를 포함하며, 숫자는 거꾸로 저장되어 있습니다. 두 숫자를 더한 후 그 결과를 연결 리스트 형태로 반환하세요. 두 숫자에는 0을 제외한 어떠한 숫자도 선두에 0이 오지 않습니다. 의사코드 더미헤드 생성 현재노드 = 더미헤드 올림 = 0; 반복문시작(l1이 null 이 아니거나 l2가 null이 아닌 경우) x = 0 y = 0 만약 l1이 null이 아니면 x = l1 v..

리트코드 - 141. Linked List Cycle 출처 - https://leetcode.com/problems/linked-list-cycle/?envType=study-plan-v2&envId=top-interview-150 문제 설명 주어진 연결 리스트에서 사이클이 있는지 여부를 판별하세요. 연결 리스트에 사이클이 있는 경우, 연속적으로 다음 포인터를 따라가면 어떤 노드든 다시 도달할 수 있습니다. 내부적으로는 pos가 사용되어 꼬리 노드의 다음 포인터가 연결된 노드의 인덱스를 나타냅니다. 주의: pos는 매개변수로 전달되지 않습니다. 연결 리스트에 사이클이 있다면 true를 반환하고, 그렇지 않으면 false를 반환하세요. 의사코드 생략 풀이코드 public class Solution { pu..

리트코드 - 3. Longest Substring Without Repeating Characters 출처 - https://leetcode.com/problems/longest-substring-without-repeating-characters/?envType=study-plan-v2&envId=top-interview-150 문제 설명 주어진 문자열 s에서 반복되지 않는 문자로 이루어진 가장 긴 부분 문자열의 길이를 찾아야 합니다. 의사코드 최대값 = MIN_VALUE; 오른쪽 포인터 = 1; if 문자열 길이 = 0 0 리턴 반복문 시작 [문자열 길이만큼 순회] map 생성 c = 반복문의 처음값 map(key = c, value에는 +1) 대입 right = 시작값 + 1 반복문 시작 (오른쪽

리트코드 - 209. Minimum Size Subarray Sum 출처 - https://leetcode.com/problems/minimum-size-subarray-sum/?envType=study-plan-v2&envId=top-interview-150 문제 설명 주어진 양수로 이루어진 정수 배열 nums와 양수 정수 target이 주어집니다. 목표값 target 이상의 합을 가지는 부분배열(subarray)의 최소 길이를 반환하세요. 만약 그러한 부분배열이 없으면 0을 반환하세요. 의사코드 부분배열의 합 = 0 왼쪽 포인터 = 0 최소값 = 큰 수 반복문 시작(nums 배열 순회) 부분 배열의 합을 더함 반복문 시작( 부분배열의 합 >= target) 부분배열의 합 - 배열[왼쪽 포인터] 최소값..

리트코드 - 167. Two Sum II - Input Array Is Sorted 출처 - https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/?envType=study-plan-v2&envId=top-interview-150 문제 설명 주어진 1부터 시작하는 정수 배열 numbers는 이미 비내림차순으로 정렬되어 있습니다. 이 배열에서 두 숫자를 찾아야 하는데, 이 두 숫자의 합이 특정한 목표 숫자(target)가 되어야 합니다. 이 두 숫자를 numbers[index1]과 numbers[index2]라고 하며, 여기서 1 target 오른쪽 - 1 else 왼쪽 + 1 반복문 종료 풀이코드 class Solution { public int..