본문 바로가기
알고리즘 문제/Leetcode

[leetcode][1010] Pairs of Songs With Total Durations Divisible by 60

by 햄과함께 2020. 12. 8.
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|


소스코드 : github.com/fpdjsns/Algorithm/blob/master/leetcode/medium/1010.%20Pairs%20of%20Songs%20With%20Total%20Durations%20Divisible%20by%2060.cpp

320x100

댓글