Sorting
-
[array] 3sum closestAlgorithm/LeetCode 2025. 4. 5. 12:28
✅ Problemhttps://leetcode.com/problems/3sum-closest/description/ ✅ Approach & Solution방식) 정렬 후 투 포인터 사용더보기3개를 찾아야 할 때 : 1개는 고정해두고 나머지 2개를 찾자나머지 2개 찾을 때 투 포인터 사용정렬 필수 (배열의 인덱스 값 활용하지 않기 때문에 정렬 가능)class Solution { public int threeSumClosest(int[] nums, int target) { int result = 0; // 반환할 세 수의 합 int minDiff = Integer.MAX_VALUE; // target과 세 수의 합의 최소 차이 int left, right, sum;..
-
[string] reorder data in log filesAlgorithm/LeetCode 2025. 3. 9. 10:12
✅ Problemhttps://leetcode.com/problems/reorder-data-in-log-files/description/ ✅ Approach & Solution방식)더보기문제 조건로그의 가장 앞부분은 식별자로서, 순서에 영향을 끼치지 않는다.문자로 구성된 로그가 숫자 로그보다 앞에 오며, 문자 로그는 사전순으로 한다.문자가 동일한 경우에는 식별자순으로 한다.숫자 로그는 입력 순서대로 한다.풀이로그 나누기 (문자 로그, 숫자 로그)로그 정렬 (문자 로그만 정렬 수행)로그 합친 후 반환class Solution { public String[] reorderLogFiles(String[] logs) { List digitLogs = new ArrayList(); ..
-
[array] merge sorted arrayAlgorithm/LeetCode 2025. 2. 22. 15:39
✅ Problemhttps://leetcode.com/problems/merge-sorted-array/description/ ✅ Approach & Solution공통 : 투 포인터 사용 방식1) 작은 원소부터 넣기 (추가 공간 사용)더보기정답값을 담을 추가 배열(result)을 선언해 작은 원소부터 넣음문제 조건에서 nums1 배열에 값을 담으라고 했으므로 추가 배열(result)에 저장된 값들을 nums1 배열로 옮김nums1 배열은 m + n 개의 원소를 담을 수 있음class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { int[] result = new int[m + n]; int p..
-
[이진 탐색] 문제 이름 : 부품 찾기 - 배열 Sort, Binary SearchAlgorithm/유형별 문제 풀기 2021. 11. 18. 11:33
문제 설명 가게의 부품이 총 5개일 때 부품 번호가 다음과 같다고 하자. N = 5 [8, 3, 7, 9, 2] 손님은 총 3개의 부품이 있는지 확인 요청했는데 부품 번호는 다음과 같다. M = 3 [5, 7, 9] 이때 가게 안에 손님이 원하는 부품이 모두 있는지 확인하는 프로그램을 작성해보자. 사용 개념 탐색 문제 해결 아이디어 비교 대상이 되는 값들을(가게의 부품 번호) 배열에 저장하므로, java.util.Arrays 에서 제공하는 sort()로 정렬하고, binarySearch() 사용하여 탐색함 코드 import java.util.Arrays; import java.util.Scanner; public class Q1 { public static void main(String[] args) {..