코딩테스트

[프로그래머스/Javascript] 튜플

셈인 2023. 8. 18. 23:36

📄 문제

Lv 2. [2019 카카오 개발자 겨울 인턴십] 튜플

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


🔍 문제 접근

💡 JSON.parse()를 사용해 object로 변환하면 되지 않을까? (실패)
💡 원소의 순서가 중요하므로 {}내 숫자의 개수로 정렬을 해야 한다.
💡 {}내 숫자만 가져오려면 정규표현식이 편할 듯!

 

🌟 정규표현식이 익숙하지 않을 때 사용하면 좋은 사이트

👉 https://regexr.com/

 


📝 문제 풀이

function solution(s) {
    const numberSet = new Set();
    const numbers = s.match(/([0-9]\,?)+/g, '');
    
    numbers.sort((a, b) => a.length - b.length);
    numbers.forEach(number => {
        number.split(',').forEach(n => {
            numberSet.add(Number(n));
        });
    });
    
    return [...numberSet];
}