리트코드 - 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..
리트코드 - 125. Valid Palindrome 출처 - https://leetcode.com/problems/valid-palindrome/?envType=study-plan-v2&envId=top-interview-150 문제 설명 주어진 문자열 s가 팰린드롬(Palindrome)인지 판별합니다. 팰린드롬은 모든 대문자를 소문자로 변환하고, 영숫자문자가 아닌 문자를 제거한 후, 앞으로 읽으나 뒤로 읽으나 같은 문자열을 말합니다. 여기서 영숫자문자(Alphanumeric)는 문자와 숫자를 포함합니다. 문자열 s가 팰린드롬인지 판별하고, 팰린드롬이라면 true를 반환하고 아니라면 false를 반환합니다. 의사코드 문자열 중에 영숫자문자가 아니면 제거 문자열을 소문자로 반환 문자열을 배열로 변환 왼쪽 ..
리트코드 - 55. Jump Game 출처 - https://leetcode.com/problems/jump-game/?envType=study-plan-v2&envId=top-interview-150 문제 설명 주어진 정수 배열 nums는 각 위치에서의 최대 점프 길이를 나타냅니다. 처음에는 배열의 첫 번째 인덱스에 위치해 있으며, 배열의 각 요소는 해당 위치에서의 최대 점프 길이를 나타냅니다. 마지막 인덱스에 도달할 수 있는 경우 true를 반환하고, 그렇지 않은 경우 false를 반환하세요. 의사코드 nums배열의 마지막을 도착지점으로 설정 반복문 시작[nums를 뒤에서부터 순회] 만일 인덱스+숫자가 도착지점보다 크면 새로운 도착 지점으로 설정 만일 도착 지점이 0이면 true를 반환 아닌 경우에는..
리트코드 - 122. Best Time to Buy and Sell Stock II 출처 - https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/?envType=study-plan-v2&envId=top-interview-150 문제 설명 주어진 정수 배열 prices[i]는 각 날짜별로 주식의 가격을 나타냅니다. 매일마다 주식을 사고 팔 수 있습니다. 언제든지 최대 한 주식만 보유할 수 있습니다. 그러나 주식을 사면 즉시 같은 날에 팔 수 있습니다. 최대 이윤을 찾아 반환하세요. 의사코드 최소값을 매우 큰수로 지정 최대값을 0으로 지정 반복문 시작[prices 배열의 마지막 전까지 순회] 만약 최소값(매우 큰수)보다 값이 작으면 최소값에 ..