2025/02/07 2

[leetcode - 209. Minimum Size Subarray Sum] java

문제 설명1. 배열이 주어진다.2.target이 주어진다.3. 배열을 순서대로 더해서 target 보다 크거나 같은 숫자가 되면 그 숫자를 구하는 가장 적은 배열 요소의 갯수를 구하면 된다. 풀이 과정 1. 투포인터 문제이다.2. 투포인터 시작점을 저장시켜 두고 요소 크기, 더한 값을 구한다.3. for문 돌리면서 매번 요소를 더해준다.4. 그리고 만들어진 값이 target보다 커지면 슬라이딩 앞에서부터 줄여가면서 크기를 비교하면 된다.코드class Solution { public int minSubArrayLen(int target, int[] nums) { int start = 0; // 슬라이딩 윈도우 시작점 int sum = 0; // 총합 int cnt..

알고리즘 공부 2025.02.07

[leetcode - 15. 3Sum] java

문제 설명1. 배열이 주어진다.2.배열에서 3개 숫자를 더해서 0이 되는 것들을 찾는다.3. 근데 그 대상 숫자들이 중복되면 안된다. 풀이 과정 1. 투포인터 문제인데, 해결 방법이 생각이 잘 안나서 많이 헤맸다.2. 앞에서부터 뒤로 가면서 기준 인덱스의 뒤에를 투포인터로 찾으면 된다.3. 그리고 중복되는 값들을 제거해주면서 구하면 된다.코드class Solution { public List> threeSum(int[] nums) { List> ans = new ArrayList(); // 투포인터 실행을 위한 list 정렬 Arrays.sort(nums); // 3개 찾아야 하니까 2개 남겨놓음 for(int i=0; i

알고리즘 공부 2025.02.07