문제
https://school.programmers.co.kr/learn/courses/30/lessons/120851?language=python3
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
🐍파이썬
def solution(my_string):
return sum(list(map(int, [i for i in my_string if i.isdigit()])))
1️⃣ 리스트 전체를 돌면서 원소가 숫자이면 배열에 저장한다.
2️⃣ (map() 함수 사용) ['1', '2', '3', '4'](예시) 의 형태로 저장된 배열을 int형 배열로 바꾸어준다.
3️⃣ int형으로 바꾸어준 배열의 합계를 리턴한다.
❗❗ map()함수
🔸함수의 형태: map(function, iterable)
🔸리스트의 요소를 지정된 함수로 처리해주는 함수
🔸첫 번째 매개변수는 함수이며 두 번째 매개변수는 반복 가능한 자료형(리스트, 튜플 등).
🔸map 함수의 반환 값은 map객체이므로 list 혹은 tuple로 형변환시켜주어야 한다.
참고: https://blockdmask.tistory.com/531
다른 풀이 방법
def solution(my_string):
return sum(int(i) for i in my_string if i.isdigit())
🐥자바스크립트
function solution(my_string) {
return my_string.split("").filter((el) => !isNaN(el)).map((v) => parseInt(v)).reduce((acc, cur)=> acc + cur);
}
1️⃣ split() 함수를 통해 문자열을 하나씩 쪼개어 배열로 만든다.
2️⃣ filter() 메서드를 이용해 isNaN()의 값이 false인 값만 찾아서 배열로 만든다.
3️⃣ map() 함수를 통해 문자열로 이루어진 배열의 원소를 int형으로 바꾸어 배열을 생성한다.
4️⃣ reduce() 함수를 이용해 배열의 모든 원소의 합을 구한다.
참고: 문자열의 숫자 판별
https://www.delftstack.com/ko/howto/javascript/check-if-string-is-number-javascript/
JavaScript에서 Sring이 숫자인지 확인
이 튜토리얼에서는 문자열이 JavaScript에서 유효한 숫자인지 확인합니다.
www.delftstack.com
다른 풀이 방법
function solution(my_string) {
const answer = my_string.replace(/[^0-9]/g, '')
.split('')
.reduce((acc, curr) => acc + Number(curr), 0);
// console.log(my_string.replace(/[^0-9]/g, '')) 출력: 1234
return answer;
}
참고: replace() 정규표현식
https://codechacha.com/ko/javascript-replace-in-string/
JavaScript - 문자열 바꾸기(replace, 정규식 치환)
String 타입은 replace()함수를 제공하며 이것을 이용하여 문자열의 특정 문자열을 다른 문자열로 변환할 수 있습니다. replace()는 먼저 검색되는 1개의 문자열만 치환하는데요, 여러 문자열을 변환할
codechacha.com
'Problem Solving > 프로그래머스' 카테고리의 다른 글
[프로그래머스 | 파이썬 / 자바스크립트] 자릿수 더하기(코딩테스트 입문/ level 0) (0) | 2023.02.21 |
---|---|
[프로그래머스 | 파이썬 / 자바스크립트] n의 배수 고르기(코딩테스트 입문/ level 0) (2) | 2023.02.21 |
[프로그래머스 | 파이썬 / 자바스크립트] 최댓값 만들기 (2)(코딩테스트 입문/ level 0) (0) | 2023.02.21 |
[프로그래머스 | 파이썬 / 자바스크립트] 문자열 정렬하기 (2)(코딩테스트 입문/ level 0) (0) | 2023.02.20 |
[프로그래머스 | 파이썬 / 자바스크립트] 숫자 찾기(코딩테스트 입문/ level 0) (0) | 2023.02.20 |
[프로그래머스 | 파이썬 / 자바스크립트] 머쓱이보다 키 큰 사람(코딩테스트 입문/ level 0) (0) | 2023.02.20 |