728x90
#문제
문자열을 요소로 갖는 배열을 입력받아 가장 짧은 문자열과 가장 긴 문자열을 제거한 배열을 리턴해야 합니다.
arr[i].length는 20이하가장짧은문자열의 길이와 가장 긴 문자열의 길이가 같은 경우는 없습니다.가장 짧은 문자열 또는 가장 긴 문자열이 다수일경우, 나중에 위치한 문자열을 제거합니다.
#예시
let output = removeExtremes(['a', 'b', 'c', 'def']);
console.log(output); // --> ['a', 'b']
output = removeExtremes(['where', 'is', 'the', 'longest', 'word']);
console.log(output); // --> ['where', 'the', 'word',]
#정답
function removeExtremes(arr) {
let shortestLen = 20;
let longestLen = 0;
let shortestIdx = 0;
let longestIdx = 0;
for(let i=0; i<arr.length; i++){
if (arr[i].length >= longestLen){
longestLen = arr[i].length;
longestIdx = i;
}
if (arr[i].length <= shortestLen){
shortestLen = arr[i].length;
shortestIdx = i;
}
}
let result = [];
for(let i=0; i<arr.length; i++){
if((i !== longestIdx)&&(i !== shortestIdx)){
result.push(arr[i]);
}
}
return result;
}
728x90
'코플릿 기록 > JavaScript' 카테고리의 다른 글
데일리코딩 17번 computeSquareRoot 바빌로니아 (0) | 2023.02.07 |
---|---|
데일리코딩 12번 findBugInApples (0) | 2023.01.31 |
데일리코딩 10번 insertDash (0) | 2023.01.27 |
객체 13번 (0) | 2023.01.23 |
객체 6번 (0) | 2023.01.23 |