AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

JavaScript 챌린지 #JS-176: 문자열에서 숫자 추출 및 합계 계산

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

  • JavaScript 초보자 및 중급 개발자
  • 문자열 처리, 정규표현식, 배열 조작에 관심 있는 개발자
  • 난이도: 중급 (정규표현식 이해 필요)

핵심 요약

  • 문자열에서 숫자 추출: /\d+/g 정규표현식을 사용하여 숫자 패턴 매칭
  • 숫자 합계 계산: Array.prototype.reduce()로 추출된 숫자 배열 합산
  • 실용성: parseInt() 대신 Number() 또는 + 연산자로 타입 변환 권장

섹션별 세부 요약

  1. 문제 정의
  • 문자열 내 숫자만 추출하고, 그 합계를 계산하는 기능 구현
  • 예: "abc123def456"[123, 456] → 합계 579
  1. 정규표현식 사용법
  • /\d+/g 패턴으로 연속된 숫자 추출
  • match() 메서드로 배열 반환 (null 처리 필요)
  • 예: "a1b2c3".match(/\d+/g)["1", "2", "3"]
  1. 합계 계산 로직
  • map(Number)으로 문자열 배열 → 숫자 배열 변환
  • reduce((acc, curr) => acc + curr, 0)으로 누적합 계산
  • 예: [1, 2, 3].reduce((a, b) => a + b, 0)6
  1. 예외 처리
  • 숫자가 없는 경우 null 반환 처리
  • try-catch 사용 또는 if 조건문으로 예외 대비
  • NaN 처리: Number.isNaN() 검증

결론

  • 문자열에서 숫자 추출 시 /\d+/g 정규표현식과 reduce() 조합 사용 권장
  • Number() 또는 + 연산자로 타입 변환하여 parseInt() 대체
  • 예외 처리를 통해 null 또는 NaN 값에 대한 로직 추가 필요