셀수있는 수량의 순서있는 열거 또는 어떤 순서를 따르는 요소들의 모음을 튜플(tuple)이라고 합니다. n개의 요소를 가진 튜플을 n-튜플(n-tuple)이라고 하며, 다음과 같이 표현할 수 있습니다.
예시 (2,1,3,4)
| s | result |
|---|---|
| "{{2},{2,1},{2,1,3},{2,1,3,4}}" | [2, 1, 3, 4] |
| "{{20,111},{111}}" | [111, 20] |
function solution(s) {
var answer = [];
let table = {}
let arr = s.slice(2,s.length-2).split("},{").join(',').split(',')
for(let i = 0 ; i < arr.length ; i++){
if(table[arr[i]] === undefined) table[arr[i]] = 1
else {
table[arr[i]] += 1
}
}
answer = Object.keys(table).sort( (a ,b) => table[b] -table[a])
answer = answer.map((item) => Number(item))
return answer
}
silce로 잘라 준다.결과: 2},{2,1},{2,1,3},{2,1,3,4split("},{")을 통해 (},{)을 기준으로 나누어 배열로 만든 다음 join(',')을 통해 숫자들을 나눈 뒤, 다시 배열로 ","를 기준으로 다시 배열로 돌려준다.split(',')을 돌리지 않는다면 반복문을 돌려 줄 때 ","도 같이 돌리기 때문에 따로 처리를 해줘야 된다.if(table[arr[i]] === undefined) table[arr[i]] = 1: table이라는 객체 안에 찾는 숫자의 값을 키 값으로 주고, 값으로 count가 한 번 되었기 때문에 1로 초기화 시켜준다.else : 나머지 요소들에 대한 count 값을 계속해서 더해준다.Object.keys(table).sort( (a ,b) => table[b] -table[a]): Object.keys를 통해 객체의 키 값들을 배열로 출력한 후, sort를 통해서 객체의 키에 맞는 값들을 내림차순으로 정리해준다.결과: ['2','1','3','4']map메소드를 사용해서 'number'값으로 바꿔준 후 리턴해준다.