728x90
▼ 문제 바로가기 (링크) ▼
https://leetcode.com/problems/count-equal-and-divisible-pairs-in-an-array/
정수 배열 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
반응형
'코딩 테스트 > leetCode' 카테고리의 다른 글
[leetCode] 2315. Count Asterisks (Python) (2) | 2022.11.01 |
---|---|
[leetCode] 1913. Maximum Product Difference Between Two Pairs (Python) (0) | 2022.10.31 |
[leetCode] 557. Reverse Words in a String III (Python) (0) | 2022.10.30 |
[leetCode] 1773. Count Items Matching a Rule (Python) (0) | 2022.10.29 |
[leetCode] 1528. Shuffle String (Python) (0) | 2022.10.29 |