프론트엔드 공부/자료구조 & 알고리즘 문자열을 요소로 갖는 배열을 입력받아 가장 짧은 문자열과 가장 긴 문자열을 제거한 배열을 리턴해야 합니다. - removeExtremes 문제 문자열을 요소로 갖는 배열을 입력받아 가장 짧은 문자열과 가장 긴 문자열을 제거한 배열을 리턴해야 합니다. 입력 인자 1 : arr string 타입을 요소로 갖는 배열 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) { const result = []; let shortestLth = Number.MAX_SAFE_INTEGER; let longestLth = Number.MIN_SAFE_INTEGER; let shortestIdx; let longestIdx; for(let i = 0; i < arr.length; i++){ if(shortestLth >= arr[i].length){ shortestLth = arr[i].length; shortestIdx = i; } if(longestLth <= arr[i].length){ longestLth = arr[i].length; longestIdx = i; } } for(let i = 0; i < arr.length; i++){ if(i !== shortestIdx && i !== longestIdx){ result.push(arr[i]); } } return result; } //레퍼런스코드 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 !== shortestIdx && i !== longestIdx) { result.push(arr[i]); } } return result; } 공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기프론트엔드 학습 기록 저작자표시 비영리 변경금지 (새창열림) Contents 당신이 좋아할만한 콘텐츠 문자열을 요소로 갖는 배열을 입력받아 문자열을 세로로 읽었을 때의 문자열을 리턴해야 합니다. 2023.02.01 2차원 배열(배열을 요소로 갖는 배열)을 입력받아 'B'의 위치 정보를 요소로 갖는 배열을 리턴해야 합니다. 2023.02.01 문자열을 입력받아 연속된 한자리 홀수 숫자 사이에 '-'를 추가한 문자열을 리턴해야 합니다. 2023.02.01 문자열을 입력받아 문자열 내에 아래 중 하나가 존재하는지 여부를 리턴해야 합니다. 2023.02.01 댓글 0 + 이전 댓글 더보기