[SEB_FE_44] JS(5) - 배열 알고리즘

유영준·2023년 2월 27일
post-thumbnail

오늘 배운 주제


  • 배열 알고리즘

오늘 배운 내용


  • 가장 긴 문자열
function getLongestWord(str) {
  let arr=str.split(' '); // 문자열로 되어있기 때문에 공백기준으로 split
  let len = 0;
  let answer = 0;
  for (let i=0; i<arr.length; i++) { // 가장 긴 문자열의 길이를 리턴
    if (arr[i].length > len) {
      len = arr[i].length;
    }
  }
  for (let i=0; i<arr.length; i++) { // 가장 긴 문자열의 첫 번째 인덱스값 리턴
    if (arr[i].length === len) {
      answer=arr[i];
      return answer;
    }
  }
  return answer;
}
  • 피보나치
function fibonacci(num) {
  // TODO: 여기에 코드를 작성합니다.
  let arr=[];
  if (num == 0) {
    arr.push(0)
    return arr;
  } else {
    arr.push(0); // num이 0이 아니면 arr에 0과 1 푸시
    arr.push(1);
    let sum = 0;
    for(let i=1; i<num; i++) { // 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...
    sum = arr[i] + arr[i-1]; // i가 1일때 0 + 1, i가 2일때 1 + 1
    arr.push(sum);
  }
  return arr;
  }
}

오늘의 과제


  • 배열

25문제 중 리뷰가 필요한 문제는 가장 긴 문자열과 피보나치 수열 문제

가장 긴 문자열을 리턴하는 문제인데 가장 긴 문자열이 2개 이상일때 첫 번째 가장 긴 문자열을 리턴해야하는 부분에서 에러가 나서 고민을 하다가 페어의 도움을 받아 문제를 풀었다

profile
프론트엔드 개발자 준비 중

0개의 댓글