반응형
fun intersect(nums1: IntArray, nums2: IntArray): IntArray {
Arrays.sort(nums1) // nums1 정렬
Arrays.sort(nums2) // nums2 정렬
var i = 0 // nums1 포인터
var j = 0 // nums2 포인터
var k = 0 // 교집합 요소를 저장할 위치
while (i < nums1.size && j < nums2.size) {
when {
nums1[i] < nums2[j] -> i++
nums1[i] > nums2[j] -> j++
else -> {
// nums1[i] == nums2[j]
nums1[k++] = nums1[i] // 교집합 원소를 nums1[k] 위치에 저장 후 k 증가
i++
j++
}
}
}
// 교집합으로 저장된 부분(0..k-1)만 잘라서 반환
return Arrays.copyOfRange(nums1, 0, k)
}
반응형
'Computer > Algorithm' 카테고리의 다른 글
[LeetCod] 3Sum - kotlin (0) | 2025.03.05 |
---|---|
[LeetCod] 8. String to Integer (atoi) - kotlin (0) | 2025.03.04 |
[LeetCode] 234. Palindrome Linked List - kotlin (0) | 2025.03.02 |
[LeetCode] 125. Valid Palindrome - kotlin (0) | 2025.03.02 |
[LeetCode] 191. Number of 1 Bits - Kotlin (0) | 2025.03.02 |
댓글