본문 바로가기
코플릿 기록/JavaScript

데일리코딩 11번 removeExtremes ★★

by 뭉지야 2023. 1. 30.
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