[알고리즘] Array Deep Dive 배열 제어하기


문제 설명

배열의 중복값을 제거하고 배열 데이터를 내림차순으로 정렬해서 반환하는 solution 함수 구현하기


제한사항

  • 배열의 길이는 2이상 1,000 이하
  • 배열의 각 데이터값은 -100,000이상 100,000 이하

입출력 예

입력출력
[1,-5,2,4,3][-5,1,2,3,4]
[6,1,7][1,6,7]

O(NlogN) sort() 이용

//배열 제어

function solution(arr) {
  const uniqueArr = [...new Set(arr)]; //중복제거 (O(N))
  return uniqueArr.sort((a, b) => b - a); //내림차순 정렬 (O(NlogN))
}

console.log(solution([4, 2, 2, 1, 3, 4])); //[4,3,2,1]
  • 시간복잡도 O(NlogN)