반응형
프로그래머스 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임에 주의하여 숫자처리를 잘해준다.
코테를 풀면서 느끼는건데.. 언제나 예외처리를 안해서 런타임에러가 뜬다.
현업에서도 이런 가능성이 있겠지??
문제를 잘읽고 한번 더 생각하자.
반응형
'[IT] 프로덕트 개발 > Coding Test - 코딩테스트' 카테고리의 다른 글
[LV1] 소수 찾기 / Math.sqrt() 제곱근 활용 (0) | 2022.11.24 |
---|---|
[LV1] 숫자 짝꿍 (0) | 2022.11.24 |
[LV1] 체육복 (0) | 2022.11.23 |
[LV1] 문자열 내 마음대로 정렬하기 (0) | 2022.11.21 |
[LV1] 기사단원의 무기 (0) | 2022.11.21 |