코딩 테스트/leetCode

[leetCode] 2176. Count Equal and Divisible Pairs in an Array (Python)

우주바다 2022. 11. 2. 23:42
728x90

▼ 문제 바로가기 (링크) 

https://leetcode.com/problems/count-equal-and-divisible-pairs-in-an-array/

 

Count Equal and Divisible Pairs in an Array - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com


정수 배열 nums와 정수 k가 주어진다.

(i , j) 로 2개씩 짝지어 만드는 조합 중

i == j 이고, i의 인덱스 j의 인덱스의 곱한 값을 k로 나누었을 때

나머지가 0인 경우의 수를 반환하는 문제.

class Solution:
    def countPairs(self, nums: List[int], k: int) -> int:
        n = len(nums)
        cnt = 0
        for i in range(0, n):
            for j in range(i+1, n):
                if nums[i]==nums[j] and ((i*j) % k == 0):
                    cnt += 1
        return cnt

값이 같은지 확인하고 맞을 때 인덱스 값을 가져오려고 하면서

for문을 nums에서 순회하려고 해서 좀 꼬였었다.

2중 for문을 사용하는 과정에서 헷갈려서

discuss 답안을 참고해 완성한 코드.

 

range로 범위를 정할 때 그냥 리스트 길이를 바로 입력해서 작성한 적이 많은데

이렇게 반복문, 조건문을 겹쳐 사용할 때는 변수로 저장해서 사용해야겠다.

훨씬 가독성이 좋다.

728x90
반응형