728x90
반응형
1. 문제점
프로그래머스 알고리즘 문제풀이 - 자바스크립트 [숨어있는 숫자의 덧셈(1)]
2. 시도해본 것들
처음에는 다음과 같이 코드를 작성했다.
typeof로 체크하여 숫자일 경우 덧셈하면 끝날지 알았는데
문자열 숫자는 문자열로 처리하기에 추가가 되지 않았다.
function solution(my_string) {
var answer = 0;
var num = Array.from(my_string);
for(i=0; i<my_string.length; i++ ){
if( typeof(num[i]) === 'number' ){
answer += Number(num[i]);
}
}
return answer;
}
3. 해결과정
isNaN(); (NaN을 가지고 있는지에 따라 true, false를 반환하는 함수)
이것을 이용해서 배열값이 숫자를 가지고 있는지 없는지를 판단하도록 했다.
4. 알게 된 점
나의 문제풀이
function solution(my_string) {
var answer = 0;
var num = Array.from(my_string);
for(i=0; i<my_string.length; i++ ){
if( isNaN(Number(num[i])) == false ){
answer += Number(num[i]);
}
}
return answer;
}
배열값을 숫자화 시킨다음 isNaN인지 판단한다.
true면 당연히 숫자가 아니므로 넘겨야하고,
false면 숫자이기에 answer에 더해주면 된다.
남의 문제풀이
function solution(my_string) {
return my_string.match(/[0-9]/g).reduce((a,b) => parseInt(a)+parseInt(b));
}
정규식을 이용한 풀이방법..내겐 어렵다..ㅠㅠ
728x90
반응형
'일기 > TIL' 카테고리의 다른 글
TIL: Today I Learned 53일차 [대문자와 소문자] (1) | 2023.01.27 |
---|---|
TIL: Today I Learned 52일차 [모음제거] (0) | 2023.01.26 |
TIL: Today I Learned 50일차 [개미군단] (0) | 2023.01.20 |
TIL: Today I Learned 49일차 [제곱수 판별하기] (0) | 2023.01.19 |
TIL: Today I Learned 48일차 [자릿수 더하기] (0) | 2023.01.18 |