반응형

오늘 풀 문제는 Max Number of K-Sum Pairs라는 문제이며

링크는 leetcode.com/problems/max-number-of-k-sum-pairs/입니다

이 문제는 배열내에서 2개의 쌍의 합이 k와 같은 쌍의 갯수를 구하는 문제입니다

저는 sort한 후에 투 포인터를 써서 앞에와 뒤부터  합이 k보다 작으면 앞의 인덱스를 늘리고

합이 k보다 크면 뒤의 인덱스를 줄이는 형식으로 탐색을 하면서 쌍의 갯수를 구하였습니다

코드는 아래와 같습니다

func maxOperations(nums []int, k int) int {
    sort.Ints(nums)
	size := len(nums)
    res := 0

	for i, j := 0, size-1; i < j; {
		temp_sum := nums[i] + nums[j]
		if temp_sum == k {
			res++
			i++
			j--
		} else if temp_sum > k {
			j--
		} else {
			i++
		}
	}

	return res
}

 

감사합니다

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기