[프로그래머스 level2] 튜플

김예지·2021년 11월 1일
0

문제

https://programmers.co.kr/learn/courses/30/lessons/64065


문제 풀이

코드

function solution(s) {
    s=s.replace(/},/g, '/')
        .replace(/{/g, '')
        .replace(/}/g, '')
        .split('/')
        .map(v=>v.split(','))
        .sort((a, b)=>{
            if(a.length<b.length) return -1;
            else if(a.length>b.length) return 1;
            else return 0;
        });

    let answer=[];
    for(let i=1; i<=s.length; i++){
        for(let j=0; j<s[i-1].length; j++){
            if(!answer.includes(s[i-1][j])) answer.push(s[i-1][j]);
        }
    }
    return answer.map(v=>Number(v));
}

level2치고는 아주 쉬운문제였다! 카카오라고 초반에 쫄았는데... 이건 괜찮았으~
1. s문자열을 배열형태로 만든 후에, 길이가 짧은 것이 앞에오도록 배치한다. "{{1,2,3},{2,1},{1,2,4,3},{2}}"일 때, [ [ '2' ], [ '2', '1' ], [ '1', '2', '3' ], [ '1', '2', '4', '3' ] ]과 같이 표현된다.
2. s의 가장 앞부터 돌면서, answer배열에 없으면 push해준다.

profile
내가 짱이다 😎 매일 조금씩 성장하기🌱

0개의 댓글