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

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

by 햄과함께 2019. 3. 17.
320x100

문제 : https://leetcode.com/problems/pairs-of-songs-with-total-durations-divisible-by-60/




map을 이용했다.

[30, 20, 150, 100, 40, 60, 60] 이 입력이 주어졌으면 이를 60으로 나눈 값들의 개수를 map에 저장한다. 

key = 60으로 나눈 나머지. value = 개수

즉, 위 예제에서는 [30, 20, 30, 40, 40, 0, 0]을 key, value형태에 맞춰 넣으면

{0, 2}, {20, 1}, {30, 2}, {40, 2}가 map에 들어간다.

짝이 될 수 있는 것은 20 - 40. 30 쌍이다.
0 쌍의 개수는 2 * 1 = 2.  

20 - 40 쌍의 개수는 1 * 2 = 2.

30 쌍의 개수는 2 * 1 = 2.

이를 모두 더하면 된다. 


시간복잡도는 대충 O(NlogN) 정도 될 듯.




소스코드 : https://gist.github.com/fpdjsns/5d8a60694f68f51a2afd25796fe50c2e

320x100

댓글