저장을 습관화
프로그래머스 LV.0 배열 만들기 5 본문
프로그래머스 LV.0 배열 만들기 5
https://school.programmers.co.kr/learn/courses/30/lessons/181912
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 문제 명
배열 만들기 5
2. 문제 설명
문자열 배열 intStrs와 정수 k, s, l가 주어집니다. intStrs의 원소는 숫자로 이루어져 있습니다.
배열 intStrs의 각 원소마다 s번 인덱스에서 시작하는 길이 l짜리 부분 문자열을 잘라내 정수로 변환합니다. 이때 변환한 정수값이 k보다 큰 값들을 담은 배열을 return 하는 solution 함수를 완성해 주세요.
3. 제한 사항
- 0 ≤ s < 100
- 1 ≤ l ≤ 8
- 10l - 1 ≤ k < 10l
- 1 ≤ intStrs의 길이 ≤ 10,000
- s + l ≤ intStrs의 원소의 길이 ≤ 120
4. 예시
intStrs | k | s | l | result |
["0123456789","9876543210","9999999999999"]
|
50000 | 5 | 5 | [56789, 99999] |
5. 기본 제공 코드
function solution(intStrs, k, s, l) {
var answer = [];
return answer;
}
6. 제출한 내 답
const solution = (intStrs, k, s, l) => {
return intStrs
.map((v) => {
let test = +v.substr(s, l);
return test > k ? test : "";
})
.filter((v) => v);
};
6-2. VSC에 작성한 내용
const solution = (intStrs, k, s, l) => {
return intStrs
.map((v) => {
let test = +v.substr(s, l);
return test > k ? test : "";
})
.filter((v) => v);
};
// 테스트
console.log(
solution(["0123456789", "9876543210", "9999999999999"], 50000, 5, 5)
);
7. 특이사항
없음
8. 다른 사람이 작성한 답
8-1. slice
function solution(intStrs, k, s, l) {
return intStrs.map((v) => +v.slice(s, s + l)).filter((v) => v > k);
}
8-2.
function solution(intStrs, k, s, l) {
return intStrs.reduce((bucket, intStr) => {
const v = Number(intStr.slice(s, s + l))
if (v > k) bucket.push(v)
return bucket
}, [])
}
정답률 85% 문제 모두 해결
남은 문제 224
Lv.0 63개, Lv.1 58개, Lv.2 103개
'코딩 테스트 > 프로그래머스 - 자바스크립트' 카테고리의 다른 글
프로그래머스 LV.1 없는 숫자 더하기 (0) | 2023.09.25 |
---|---|
프로그래머스 LV.0 k의 개수 (0) | 2023.09.24 |
프로그래머스 LV.0 수열과 구간 쿼리 3 (0) | 2023.09.23 |
프로그래머스 LV.0 문자열 뒤집기 (0) | 2023.09.23 |
프로그래머스 LV.0 글자 지우기 (0) | 2023.09.23 |