320x100
문제 : https://leetcode.com/problems/pairs-of-songs-with-total-durations-divisible-by-60/
시간배열 time이 주어질 때, 이들 중 서로 다른 원소 2개를 더한 값이 60으로 나누어떨어지는 pair들의 수를 구하라.
60 크기의 배열(cnts)을 만들고 0으로 초기화시킨다.
앞에서부터 time 배열을 탐색하면서 탐색 중인 배열 요소를 time이라 하자.
cnts[60%time]들과 time을 pair로 하면 정답이 가능하다. ex) time = 20 이면 40, 100, 160 ... 이 가능하고 이들 횟수는 cnts[40]에 저장되어 있기 때문에 정답에 cnts[40] 값을 더한다.
그리고 cnts[60%time]에 time 횟수인 1을 더해서 갱신한다.
시간복잡도는 O(N). N = |time|
320x100
'알고리즘 문제 > Leetcode' 카테고리의 다른 글
[Leetcode][128] Longest Consecutive Sequence (0) | 2021.01.06 |
---|---|
[leetcode][1345] Jump Game IV (0) | 2020.12.27 |
[leetcode][1492] The kth Factor of n (0) | 2020.12.05 |
[leetcode] [239] Sliding Window Maximum (0) | 2020.11.29 |
[leetcode][416] Partition Equal Subset Sum (0) | 2020.11.28 |
댓글