티스토리 뷰

320x100

2021년 1월 18일에 Velog에 작성한 글을 옮겨온 글입니다.

 

프로그래머스 - 튜플

풀이

function solution(s) {
    // const tuples = s.slice(2, -2).split('},{').map(cur => cur.split(','));
    const tuples = JSON.parse(s.replace(/{|}/g, (match) => (match === '{' ? '[' : ']')));
    const set = new Set();
    tuples.sort((a, b) => a.length - b.length);
    tuples.forEach(t => t.forEach(num => set.add(+num)));
    return [...set];
}
  1. 주어진 문자열을 배열로 파싱하여
  2. 배열의 크기 순으로 정렬한 후
  3. 중복을 제거한 tuple로 반환합니다.

1번의 배열로 파싱하는 부분을 처음에는 slice, splite 함수를 조합하여 사용했는데 다른 분의 풀이를 보고 JSON.parse 함수와 정규표현식의 조합으로 변경했습니다.

그동안 JSON을 object 형태로만 사용했었는데, 이번에 배열도 유효하다는 것을 알게되어 글로 남겨봅니다.


참고자료
JSON - 객체, 배열, 숫자, 문자열, 불리언과 null을 직렬화하기 위한 구문
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/JSON

 

320x100
댓글