99클럽 코테 스터디 20일차 TIL Number of Good Pairs

방지환·2024년 6월 15일

코테 스터디

목록 보기
26/37

Number of Good Pairs

  • 문제 풀이

    1. 배열내에서 같은 값을 같는 쌍을 찾는 문제이다.
    2. 단순히 이중for문을 돌려 값이 같은 경우를 찾으면 되는 문제이다.
  • 풀이 소스

class Solution {
    public int numIdenticalPairs(int[] nums) {
        int cnt = 0;

        for(int i=0;i<nums.length-1;i++){
            for(int j=i+1;j<nums.length;j++){
                if(nums[i]==nums[j]){
                    cnt++;
                }
            }
        }
        return cnt;
    }
}
  • 풀이 소스2

class Solution {
    public int numIdenticalPairs(int[] nums) {
        int cnt = 0;
        int[] arr = new int[101];
        for(int i=0;i<nums.length;i++){
            cnt += arr[nums[i]]++;
        }
        return cnt;
    }
}
  • 오늘의 회고

    • 문제 시도 및 해결
      • 주어진 배열에 대해서 모든 경우의 수를 2중 for문을 돌려 해결했다.
      • 시간복잡도가 O(n^2)인것 같아서 다른 풀이를 시도해봤다.
      • 1 <= nums.length <= 100의 길이 제한을 주었기 때문에 새로운 배열을 최대 길이만큼 선언해준다.
      • 그 후 nums의 배열길이 만큼 for문을 돌려 arr에 nums[i]번째에 해당하는 값을 가져와서 cnt에 넣어주고 해당 배열에 1씩 더해준다.
    • 학습 내용 및 회고
      • 문제를 이해하면 금방 풀 수 있는 문제였다.
    • 다음 배울것
      • SQL문제 공부

0개의 댓글