Advertisement
mellllon

Untitled

Jun 15th, 2019
478
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.58 KB | None | 0 0
  1. def solution(new_song, exist_songs):
  2.     answer = []
  3.     umegae = {
  4.         'C':0,
  5.         'c':1,
  6.         'D':2,
  7.         'd':3,
  8.         'E':4,
  9.         'F':5,
  10.         'f':6,
  11.         'G':7,
  12.         'g':8,
  13.         'A':9,
  14.         'a':10,
  15.         'B':11,
  16.         'b':12
  17.     }
  18.    
  19.     def umgae_to_integer(arr, target):
  20.         new_arr = []
  21.         diffumgae = []
  22.         temp = 0
  23.         prev = -1
  24.         for i in range(len(arr)):
  25.             if (i % 2 == 0):
  26.                 temp += umegae[arr[i]]
  27.             else:
  28.                 temp += (int(arr[i]) - int('0')) * 13
  29.                
  30.                 if (prev != temp):
  31.                     new_arr.append(temp)
  32.                 prev = temp
  33.                 temp = -1
  34.         for i in range(1, len(new_arr)):
  35.             diffumgae.append(new_arr[i]-new_arr[i-1])
  36.         target.append(diffumgae)
  37.    
  38.     song_list = []
  39.     umgae_to_integer(new_song, song_list)
  40.     for t in exist_songs:
  41.         umgae_to_integer(t, song_list)
  42.  
  43.     for i in range(1,len(song_list)):
  44.         correspond_length = 0
  45.         overlap_length = 0
  46.         for j in range(len(song_list[0])):
  47.             for k in range(len(song_list[i])):
  48.                 if (song_list[0][j] == song_list[i][k]):
  49.                     overlap_length += 1
  50.                 else:
  51.                     break
  52.             if (overlap_length >= 10):
  53.                 correspond_length += overlap_length
  54.         if (correspond_length >= int(0.7 * len(song_list[0]))):
  55.             answer.append(True)
  56.         else:
  57.             answer.append(False)
  58.    
  59.     return answer
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement