문제 설명 : 문자열을 요소로 갖고있는 배열을 입력받고 문자열의 길이가 가장 긴 문자열과 가장 짧은 문자열을 제거한 배열을 리턴해야합니다. 이 때 배열의 최대길이는 약 20으로 조건이 있습니다. 상세조건은 다음과 같습니다.
입력
인자 1 : arr
출력
주의 사항
입출력 예시
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 result = [];
//가장 긴 문자열의 길이
longLen = 0;
//가장 긴 문자열의 인덱스
longIdx = 0;
//가장 짧은 문자열의 길이
shortLen = 20;
//가장 짧은 문자열의 인덱스
shortIdx = 0;
for(let i = 0; i < arr.length; i++){
//가장 길이가 긴 문자열의 인덱스 찾기
if(arr[i].length >= longLen){
longLen = arr[i].length;
longIdx = i;
}
//가장 길이가 짧은 문자열의 인덱스 찾기
if(arr[i].length <= shortLen){
shortLen = arr[i].length;
shortIdx = i;
}
}
//가장 긴 문자열과 짧은 문자열을 제외한 요소를 결과 배열에 삽입
for(let j = 0; j < arr.length; j++){
if(j !== longIdx && j !== shortIdx){
result.push(arr[j]);
}
}
//결과값 리턴
return result;
}
출처 : 코드스테이츠
알고리즘 문제풀이 - readVertically (0) | 2022.12.26 |
---|---|
알고리즘 문제풀이 - findBugInApples (0) | 2022.12.23 |
알고리즘 문제풀이 - insertDash (0) | 2022.12.22 |
알고리즘 문제풀이 - ABCheck (0) | 2022.12.22 |
알고리즘 문제풀이 - convertDoubleSpaceToSingle (0) | 2022.12.21 |