튜플 자바스크립트

나의풀이 

function solution(s) {
   
    let regEx = /[{}]/g
    
   let map = s.replace(regEx, '').split(',').reduce((acc,e,i) => 
      acc.set(e,acc.get(e) + 1 || 1) ,new Map())
    
   let arr = Array.from(map).sort((a,b) => b[1] - a[1]);
    
return arr.map((e,i) => +e[0])   
}

다른 사람의 풀이
function solution(s) {
  
return JSON.parse(s.replace(/[{}]/g,(a) => a == '{' ? '[' : ']'))
  .sort((a,b) => a.length - b.length)
  .reduce((acc,e) =>(
         acc.concat(e.filter(x => !acc.includes(x)))
     ) ,[])
}

내가 사용한 방식:{}를 모두 찾아 없앤 뒤 ,를 기준으로 split한다. 배열에 저장된 요소들 중 가장 많이 포함되어 있는 숫자순으로 결과값을 저장하면 된다.

다른 사람의 풀이를 통해 json형식의 문자열을 js객체형식으로 parse하면 형태를 그대로 보존한 array를 반환할 수 있다는 것을 알았다.

좋은 웹페이지 즐겨찾기