[프로그래머스] 숨어있는 숫자의 덧셈(1)

hello__0·2023년 8월 29일
0

Algorithm

목록 보기
12/20

남의 풀이(1)

function solution(my_string) {
    let sum = 0;
    for (let i = 0; i < my_string.length; i++) {
        if (isNaN(my_string[i]) === false) {
            sum += Number(my_string[i])
        } 
    } return sum;
}

남의 풀이(2)

function solution(my_string) {
  const num = my_string.split("");
  let result = 0;
  
  for(let i = 0; i < num.length; i++){
    if(Number(num[i])) result += Number(num[i])
  }
  return result;
}

split 메서드를 이용하여 배열을 자르는 것 까지는 생각해 냈고 isNaN을 이용하여 배열이 숫자가 아닌 경우 false를 출력하는 것도 알게 되었다.
마지막 배열 안의 문자로 된 문자열들을 어떻게 숫자로 판별하는지 까지 생각을 하지 못했다.

(1)풀이 에서는 배열을 쪼갤 필요 없이 for로 배열을 훑으면서 조건으로 isNaN 메서드를 사용했을 때, false가 나온 경우 숫자로 변환해서 sum에 누적으로 더할 수 있도록 만든 알고리즘이다.

(2)풀이 에서는 내가 처음 생각한대로 split을 이용하여 배열을 쪼갰고 반복문의 조건을 바로 숫자로 변환해서 숫자인 객체들을 누적하여 결과를 return 하도록 만들었다.

profile
자라나라 나무나무

0개의 댓글