728x90
반응형
문제 링크 : https://www.hackerrank.com/challenges/divisible-sum-pairs/problem
O(n²) 의 시간복잡도를 가진다.
def divisibleSumPairs(n, k, ar):
# Write your code here
cnt = 0
for i in range(len(ar)):
for j in range(i+1,len(ar)):
if (ar[i] + ar[j]) % k == 0:
cnt += 1
return cnt
개선된 코드
def divisibleSumPairs(n, k, ar):
# Write your code here
cnt = 0
for i in range(len(ar)):
j = i + 1
while j < n:
if (ar[i] + ar[j]) % k == 0:
cnt += 1
j += 1
return cnt
O(N)으로 만드는 로직을 생각하는게 중요한듯 합니다.
728x90
반응형
'알고리즘' 카테고리의 다른 글
[알고리즘] 강의 중간 정리 with Java (0) | 2022.04.12 |
---|---|
[트리] 전위순회, 중위순회, 후위순회 (0) | 2022.04.11 |
[알고리즘] 퀵 소트 공부해보기 (0) | 2021.11.13 |
[프로그래머스] 가장 긴 펠린드롬 (0) | 2021.11.08 |
[HackerRank] Breaking the Records (PYTHON) (0) | 2021.11.01 |