더보기
제한사항
입출력 예my_stringresult
입출력 예 설명
문제 설명
문자열 my_string이 매개변수로 주어집니다. my_string은 소문자, 대문자, 자연수로만 구성되어있습니다. my_string안의 자연수들의 합을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ my_string의 길이 ≤ 1,000
- 1 ≤ my_string 안의 자연수 ≤ 1000
- 연속된 수는 하나의 숫자로 간주합니다.
- 000123과 같이 0이 선행하는 경우는 없습니다.
- 문자열에 자연수가 없는 경우 0을 return 해주세요.
입출력 예my_stringresult
"aAb1B2cC34oOp" | 37 |
"1a2b3c4d123Z" | 133 |
입출력 예 설명
입출력 예 #1
- "aAb1B2cC34oOp"안의 자연수는 1, 2, 34 입니다. 따라서 1 + 2 + 34 = 37 을 return합니다.
입출력 예 #2
- "1a2b3c4d123Z"안의 자연수는 1, 2, 3, 4, 123 입니다. 따라서 1 + 2 + 3 + 4 + 123 = 133 을 return합니다.
- 연속된 수는 하나의 숫자로 간주합니다.
이 조건때문에 조금 까다로웠다. 그래서 문자들은 모두 빈 문자열로 바꿔준 후, 배열 필터링을 통해 제거해주었다.
function solution(my_string) {
let answer = 0;
let num_arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
let num_str = '';
my_string.split('').map((s)=>{
if(num_arr.includes(s)){
num_str += s;
} else {
num_str += ' ';
}
})
let arr = num_str.split(' ').filter(s => s !== '');
arr.map((e)=>{
let n = parseInt(e);
answer += n;
})
return answer;
}
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스 JS] 다항식 더하기 (0) | 2022.12.09 |
---|---|
[프로그래머스 JS] 직사각형 넓이 구하기 / Math.max() Math.min() (0) | 2022.12.09 |
[프로그래머스 JS] 이진수 더하기 (10진수 2진수 변환) (0) | 2022.12.07 |
[프로그래머스 JS] 문자열 계산하기 (0) | 2022.12.06 |
[프로그래머스 JS] 소인수분해 (0) | 2022.11.22 |