자바스크립트

[JavaScript] 프로그래머스 배열 만들기 5

코딩하는둥이 2024. 5. 11. 02:24

문제 설명

문자열 배열 intStrs와 정수 k, s, l가 주어집니다. intStrs의 원소는 숫자로 이루어져 있습니다.

배열 intStrs의 각 원소마다 s번 인덱스에서 시작하는 길이 l짜리 부분 문자열을 잘라내 정수로 변환합니다. 이때 변환한 정수값이 k보다 큰 값들을 담은 배열을 return 하는 solution 함수를 완성해 주세요

입출력 예

intStrs k s l result
["0123456789","9876543210","9999999999999"] 50000 50000 5 5 [56789, 99999]

코드

const solution = (intStrs, k, s, l) => {
  return intStrs.reduce((result, str) => {
    const num = parseInt(str.slice(s, s + l));
    if (num > k) {
      result.push(num);
    }
    return result;
  }, []);
}
 

 

설명

1) reduce를 사용하여 inStrs 반복수행합니다.

2) slice를 사용하여 각 문자열에 s부터 i만큼의 숫자를 추출합니다.

3) num이 k보다 작을 경우, result에 num를 추가합니다.