SPACE RUMI

Hi, I am rumi. Let's Splattack!

[IT] 프로덕트 개발/Coding Test - 코딩테스트

[LV0] 숨어있는 숫자의 덧셈(2)

백루미 2022. 11. 23. 17:32
반응형

프로그래머스 LV0 > 코딩테스트 입문 > 숨어있는 숫자의 덧셈(2)

문제: https://school.programmers.co.kr/learn/courses/30/lessons/120864#qna

[문제해결]
1. 빈 array에 자연수만 넣어주면 되겠구나.
2. 인덱스 하나씩 비교했을떄, 다음에 오는 값이 숫자라면 묶어서 push한다. slice(start, end)
3. 빈 array일때 0을 리턴한다. (문제를 잘읽자)
4. array의 합을 구한다.

문제를 잘읽자.. 예외처리를 하자...

 

function solution(my_string) {
    let array = []
    for(let x=0; x<my_string.length; x++){
        let num = Number(my_string[x]);
        let idx = 0;
        if(!Number.isInteger(num)) continue;

        while(Number.isInteger(Number(my_string[x+idx]))){
            idx++;
        }
        const cut = my_string.slice(x,x+idx);
        array.push(Number(my_string.slice(x,x+idx)))
        x+=idx
    }
    // console.log(array)
    if(array == false) return 0;
    return array.reduce((acc,res)=> acc += res)
}

 

array가 빈값이면 0을 리턴한다.
원본이 string임에 주의하여 숫자처리를 잘해준다.

 

코테를 풀면서 느끼는건데.. 언제나 예외처리를 안해서 런타임에러가 뜬다.
현업에서도 이런 가능성이 있겠지??
문제를 잘읽고 한번 더 생각하자.

반응형