알고리즘 연습 - 문자열 배열을 입력 받아 가장 길고, 짧은 문자열을 제거

2021. 9. 17. 18:11·알고리즘 연습

알고리즘 연습 - 문자열을 요소로 가지는 배열을 받아 그 요소에서 가장 길고, 짧은 문자열을 제거한 배열을 리턴하는 함수

입력

string 타입을 요소로 가지는 배열(arr)
arr[i].length 는 20 이하
 

출력

배열을 리턴

 

주의 사항

가장 긴 문자열과 가장 짧은 문자열의 길이가 같은 경우는 없다고 가정
가장 긴 문자열이나 가장 짧은 문자열이 다수인 경우 가장 나중에 위치한 문자열을 제거

 

나만의 문제 접근 및 풀이

1.문자열을 비교해서 담을 변수 2개 만들어 두고
2.그 변수에 가장 짧은 문자열, 가장 긴 문자열을 넣는다
3.그 후 기존 배열에서 그 문자열에 해당하는 인덱스를 찾아 그 요소들만 삭제한다
4.삭제하고 남은 배열을 리턴해 준다

function removeExtremes(arr) {
// TODO: 여기에 코드를 작성합니다.

let shortestWord=arr[0];    //1.문자열을 비교해서 담을 변수 2개 만들어 준다
let longestWord=arr[0];
for(let i=0; i<arr.length; i++){
if(arr[i].length<=shortestWord.length){    
shortestWord=arr[i];        // 가장 짧은 문자열을 담는 과정
}else if(arr[i].length>=longestWord.length){
longestWord=arr[i];            // 가장 긴 문자열을 담는 과정
}
}

arr.splice(arr.indexOf(shortestWord),1);    // 가장 짧은 문자열의 인덱스를 찾아 삭제
arr.splice(arr.indexOf(longestWord),1);        // 가장 긴 문자열의 인덱스를 찾아 삭제
return 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']

'알고리즘 연습' 카테고리의 다른 글

보드의 칸 채우기 문제  (0) 2021.10.15
버블(거품) 정렬 알고리즘  (0) 2021.10.13
알고리즘 연습 - 연속된 홀수 문자열 사이에 특정 문자 추가  (0) 2021.09.16
알고리즘 연습 - 2차원 배열의 요소로 만든 객체를 리턴하는 함수 구현  (0) 2021.09.15
알고리즘 연습 - 각 단어 첫글자만 대문자가 되게 하는 함수  (0) 2021.09.15
'알고리즘 연습' 카테고리의 다른 글
  • 보드의 칸 채우기 문제
  • 버블(거품) 정렬 알고리즘
  • 알고리즘 연습 - 연속된 홀수 문자열 사이에 특정 문자 추가
  • 알고리즘 연습 - 2차원 배열의 요소로 만든 객체를 리턴하는 함수 구현
레실이
레실이
  • 레실이
    레실이의 티스토리
    레실이
  • 전체
    오늘
    어제
    • 분류 전체보기 (87) N
      • SE Bootcamp 내용 정리 (63)
      • 알고리즘 연습 (7)
      • Project 주저리 (4)
      • 기술 면접 source (3)
      • 개발 일상 (8) N
      • 생성 AI 활용 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    useRef
    중복 순열
    JS
    CSR
    CORS
    IT
    node.js
    MVC
    PickAndDrink
    cmarket
    Python
    자료구조
    JavaScript
    mongoDB
    알고리즘
    Ajax
    DOM
    useState
    문자열
    react
    ubuntu
    state
    node
    CSS
    인증/보안
    Linux
    promise
    데이터베이스
    ORM
    객체
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
레실이
알고리즘 연습 - 문자열 배열을 입력 받아 가장 길고, 짧은 문자열을 제거
상단으로

티스토리툴바