[LeetCode] 2053. Kth Distinct String in an Array

HyeLin·2023년 3월 3일
0
post-thumbnail

arr 중 단 1개만 있는 알파벳들 중 k번째 알파벳 반환하기, k번째가 없다면 "" 반환
Input: arr = ["d","b","c","b","c","a"], k = 2
Output: "a"
Input: arr = ["a","b","a"], k = 3
Output: ""

✨ 풀이

var kthDistinct = function(arr, k) {
  let obj={}
  let distinctArr=[]
  
  for(let i in arr){
    obj[arr[i]] ? obj[arr[i]] ++ : obj[arr[i]] = 1
  }
  
  for(let i in obj){
    if(obj[i] == 1){
     distinctArr.push(i)  
    }
  }

  return distinctArr[k-1] ? distinctArr[k-1] : ""
};

✨ 해석

  let obj={}

  for(let i in arr){
    obj[arr[i]] ? obj[arr[i]] ++ : obj[arr[i]] = 1
  }
  
  • arr를 반복문 돌리며, 빈 객체에 각 알파벳이 몇번 나왔는지 체크하며 넣어준다
  let distinctArr=[]

  for(let i in obj){
    if(obj[i] == 1){
     distinctArr.push(i)  
    }
  }
  • obj 객체에서 값이 1인 알파벳들을 찾아 빈 배열에 넣어준다
  return distinctArr[k-1] ? distinctArr[k-1] : ""
  • k-1번째 값이 있으면 그 값 return, 없으면 "" return
profile
개발자

0개의 댓글