nums
는 숫자로 이루어진 배열입니다.
가장 자주 등장한 숫자를 k
개수만큼 return 해주세요.
nums = [1,1,1,2,2,3],
k = 2
return [1,2]
nums = [1]
k = 1
return [1]
def top_k(nums, k):
dic = {}
for i in nums:
if i not in dic:
dic[i] = 1
else:
dic[i] = dic[i] + 1
sorted_dic = sorted(dic, key= lambda x : dic[x], reverse=True) #value 값 기준으로 key값 리스트 반환
return sorted_dic[0:k]
def top_k(nums, k):
dic = {}
arr = []
for i in nums:
if i not in dic:
dic[i] = 1
else:
dic[i] = dic[i] + 1
for i in range(k):
a = max(dic, key=(lambda x: dic[x]))
arr.append(a)
del dic[a]
return arr
인자인 height는 숫자로 이루어진 배열입니다.그래프로 생각한다면 y축의 값이고,
높이 값을 갖고 있습니다.
아래의 그래프라면 height 배열은 [1, 8, 6, 2, 5, 4, 8, 3, 7] 입니다.
저 그래프에 물을 담는다고 생각하고, 물을 담을 수 있는 가장 넓은 면적의 값을 반환해주세요.
def get_max_area(height):
arr = []
for i in range(len(height)-1):
for j in range(i+1, len(height)):
if height[i] > height[j]:
arr.append(height[j]*(j-i))
else:
arr.append(height[i]*(j-i))
return max(arr)