Coding Test/항해99 - 코테 스터디 2기
99클럽 코테 스터디 26일차 TIL(6월 15일) + 자료구조 Array
holajjm
2024. 6. 16. 01:06
[문제 링크]
https://leetcode.com/problems/number-of-good-pairs/description/
[문제 사고]
주어진 배열의 인덱스가 겹치지 않게 이중반복문을 돌면서 순서쌍을 생성하여 주어진 조건에 충족하는 경우의 수를 반환한다.
[문제 해결]
1. 정답을 담을 변수 answer을 선언하고 0을 할당한다.
2. nums 배열을 이중 반복문을 통해 돌면서 인덱스가 겹치지 않도록 한다.
3. 이중 반복문을 이용해 순서쌍의 첫번째 인자와 두번째 인자의 값이 같다면 answer 값을 증가시킨다.
4. answer 값을 반환한다.
[작성 코드]
/**
* @param {number[]} nums
* @return {number}
*/
var numIdenticalPairs = function(nums) {
let answer = 0;
for(let i = 0; i < nums.length - 1; i++){
for(let j = i+1; j < nums.length; j++){
nums[i] == nums[j] ? answer++ : null
}
}
return answer
};
[문제 회고]
배열은 많이 다루어 보았기 때문에 문제 해결에 어려움은 없었다. 하지만 이중 반복문으로 풀었기에 시간 복잡도가 좋은 편은 아니였다. 시간 복잡도를 개선할 수 있는 방식이 있는지 파악해볼 예정이다.