Number of Good Pairs
-
문제 풀이
- 배열내에서 같은 값을 같는 쌍을 찾는 문제이다.
- 단순히 이중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;
}
}
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씩 더해준다.
-
학습 내용 및 회고
-
다음 배울것