[프로그래머스] Lv.2 튜플 - JS
문제 설명
셀수있는 수량의 순서있는 열거 또는 어떤 순서를 따르는 요소들의 모음을 튜플(tuple)이라고 합니다.
특정 튜플을 표현하는 집합이 담긴 문자열 s
가 매개변수로 주어질 때, s
가 표현하는 튜플을 배열에 담아 return 하도록 solution 함수를 완성해주세요.
제한사항
s
의 길이는 5 이상 1,000,000 이하입니다.s
는 숫자와 ‘{‘, ‘}’, ‘,’ 로만 이루어져 있습니다.- 숫자가 0으로 시작하는 경우는 없습니다.
s
는 항상 중복되는 원소가 없는 튜플을 올바르게 표현하고 있습니다.s
가 표현하는 튜플의 원소는 1 이상 100,000 이하인 자연수입니다.- return 하는 배열의 길이가 1 이상 500 이하인 경우만 입력으로 주어집니다.
풀이
function solution(s) {
return s
.slice(2, s.length - 2)
.split('},{')
.sort((a, b) => a.length - b.length)
.reduce((acc, cur) => {
let arr = cur.split(',');
for (let n of arr) {
if (!acc.includes(n)) {
acc.push(n);
return acc;
}
}
}, [])
.map((v) => parseInt(v));
}
댓글남기기