본문 바로가기
Language/Java

[LeetCode | Java | Binary Search 문제 풀이] 2824.Count Pairs Whose Sum is Less than Target - Solution with Binary Search

by ㅇ달빛천사ㅇ 2024. 6. 7.
728x90

99클럽 2기 | 자바 | 비기너

2824.Count Pairs Whose Sum is Less than Target

🏷 Topic : Array Two Pointers Binary Search Sorting


Easy



Given a 0-indexed integer array nums of length n and an integer target, return the number of pairs (i, j) where 0 <= i < j < n and nums[i] + nums[j] < target.

Example 1:

Input: nums = [-1,1,2,3,1], target = 2
Output: 3
Explanation: There are 3 pairs of indices that satisfy the conditions in the statement:
- (0, 1) since 0 < 1 and nums[0] + nums[1] = 0 < target
- (0, 2) since 0 < 2 and nums[0] + nums[2] = 1 < target
- (0, 4) since 0 < 4 and nums[0] + nums[4] = 0 < target
Note that (0, 3) is not counted since nums[0] + nums[3] is not strictly less than the target.

Example 2:

Input: nums = [-6,2,5,-2,-7,-1,3], target = -2
Output: 10
Explanation: There are 10 pairs of indices that satisfy the conditions in the statement:
- (0, 1) since 0 < 1 and nums[0] + nums[1] = -4 < target
- (0, 3) since 0 < 3 and nums[0] + nums[3] = -8 < target
- (0, 4) since 0 < 4 and nums[0] + nums[4] = -13 < target
- (0, 5) since 0 < 5 and nums[0] + nums[5] = -7 < target
- (0, 6) since 0 < 6 and nums[0] + nums[6] = -3 < target
- (1, 4) since 1 < 4 and nums[1] + nums[4] = -5 < target
- (3, 4) since 3 < 4 and nums[3] + nums[4] = -9 < target
- (3, 5) since 3 < 5 and nums[3] + nums[5] = -3 < target
- (4, 5) since 4 < 5 and nums[4] + nums[5] = -8 < target
- (4, 6) since 4 < 6 and nums[4] + nums[6] = -4 < target

Constraints:
  • 1 <= nums.length == n <= 50
  • -50 <= nums[i], target <= 50

Accepted    133.5K  |  Submissions    153.3K  |  Acceptance Rate    87.1%


✔ Solution with 이중for문(링크🔗)

class Solution {
    public int countPairs(List<Integer> nums, int target) {
        int answer = 0;

        for(int i = 0; i < nums.size() - 1; i++) {
            for (int j = i + 1 ; j < nums.size(); j++) {
                int plusIJ = nums.get(i) + nums.get(j);
                if (plusIJ < target) {
                    answer++;
                }
            }
        }
        return answer;
    }
}
채점 결과 채점 결과

💥 어떤 문제가 있었고, 나는 어떤 시도를 했는지💦

  • 리스트의 메서드가 잘 기억이 나지 않았음

어떻게 해결했는지👍

  • ArrayList 메서드를 구글에 검색

💬 무엇을 새롭게 알았는지

  • 리스트의 크기 구하기 : size()
  • 인덱스로 리스트의 원소 가져오기 : get()
728x90


Top