[프로그래머스][Level2] 튜플

문제

"{{1,2,3},{2,1},{1,2,4,3},{2}}"

정답) [2, 1, 3, 4]

코드

function solution(s) {
    var answer = [];
    let tuple_arr = makeArr(s);
    let sum = 0;


    for(let i=0; i<tuple_arr.length; i++){
        let tuple_el = tuple_arr.find(tuple=>{return tuple.length === i+1});

        if(answer.length === 0) {
            sum = 0;
        } else {
            sum = answer.reduce((a, b)=>{return a+b});
        }

        answer.push(tuple_el.reduce((a, b)=>{return a+b})-sum);
    }

    return answer;
}

function makeArr(s){
    let s_arr = s.split(',{');
    let new_arr = [];
    s_arr.forEach(arr=>{
        arr = arr.replace(/{/gi, '');
        arr = arr.replace(/}/gi, '');
        new_arr.push(arr.split(',').map(ar=>Number(ar)));
    })
    return new_arr;

}

후기

  • 체감 난이도

방법

  1. makeArr 함수
  • ,{ 로 배열을 만듦
  • {, } 삭제
  • 새로운 배열(new_arr)을 리턴
  1. 덧셈을 이용하여 찾음
  • new_arr을 반복해서 돌며 배열의 길이가 1~n+1 인 배열을 순서대로 찾음
  • 배열의 합-sum을 이용하여 검색

좋은 웹페이지 즐겨찾기