Top K Frequent Elements

Sett·2021년 8월 15일
0

문제

https://leetcode.com/problems/top-k-frequent-elements/

문제 접근

  1. 문제가 너무 읽기 힘들어서.. output만 보고
  2. 같은 수면 넣지말고 크면 넣고를 반복해서,
  3. k길이의 배열을 만든 다음 반환 해라. 인줄,
  4. 그게 아니라 가장 많이 등장한 놈들을 뽑으라는 k만큼 뽑으란 거 였음 (읽을걸..)
  5. 어느 정도 등장했는 지 표시하면 좋겠다. 하다가,
  6. 해쉬로 하면 쉽겠네 해서 풀음.
  7. key를 배열에 있는 값으로 value를 등장한 수 만큼!
  8. 중간에 dictionary 문법을 몇개 몰라서 좀 해맨거 말고는 어렵지 않았다.

소스 코드

var myValue: [Int:Int] = [:]
var result: [Int] = []
for num in nums {
    myValue[num, default: 0] += 1
}
let a = myValue.sorted { key1, key2 in
    key1.value > key2.value
}
for i in 0..<k {
    result.append(a[i].key)
}
return result
profile
안녕하세요

0개의 댓글

관련 채용 정보