프로그래머스[Level 2] 튜플

bkboy·2022년 6월 25일
0

문제

링크

풀이

const solution = (s) => {
  const arr = s
    .split("},")
    .map((e) => e.replace(/[^\d]/g, " ").trim().split(" ").map(Number));

  console.log(arr);

  const answer = [];
  arr.sort((a, b) => a.length - b.length);
  arr.forEach((e, i) => {
    let tmp = e;
    for (let x of tmp) {
      if (answer.includes(x)) continue;
      answer.push(x);
    }
  });

  return answer;
};

문자열을 }, 기준으로 나눴다. 예시 문자열을 보니 이렇게 하면 각 숫자들을 나눌 수 있게 보였다.

그렇게 나뉜 문자열에 숫자를 제외하고 없애줬다. 정규표현식을 이용했다. 어느정도 암기해두니 확실한 무기가 된다.

숫자만 남은 각각의 문자열을 배열로 바꿔주었다. arr은 이차원 배열이 된 것이다.

arr을 내부 배열의 길이 순으로 오름차순 정렬했다.

profile
음악하는 개발자

0개의 댓글