[TIL] 241106 (혼자살때 댓글 컴포넌트 분리 / 프로그래머스 할 일 목록)

·2024년 11월 6일

TIL

목록 보기
211/268
post-thumbnail

오늘 한 일

  • 기업 지원 4건
  • 혼자살때 개선
    • 댓글 컴포넌트 분리
    • 추가 기능 회의 (유튜브 API 이용한 페이지 제작 예정)
  • 알고리즘 코드카타
    • 할 일 목록

알고리즘 코드카타

할 일 목록

문제

오늘 해야 할 일이 담긴 문자열 배열 todo_list와 각각의 일을 지금 마쳤는지를 나타내는 boolean 배열 finished가 매개변수로 주어질 때, todo_list에서 아직 마치지 못한 일들을 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.

풀이

function solution(todo_list, finished) {
  const result = [];
  for (let i = 0; i < todo_list.length; i++) {
    if (!finished[i]) {
      result.push(todo_list[i]);
    }
  }
  return result;
}

첫번째 풀이. 정석(?)적으로 빈 배열을 만들고 반복문을 통해 i번째 finished 요소가 false일 경우 해당 i번쨰 todo_list를 push하는 방식을 사용했다.

function solution(todo_list, finished) {
    return todo_list.filter((_, idx) => !finished[idx]);
}

두번째 풀이. filter 메서드를 사용할 생각을 자꾸 못하는 걸 보니 더 많은 연습이 필요할 것 같다. 메서드 내 인덱스 인자를 사용하여, idx번째 finished가 false인 요소만 return하도록 했다.

profile
웹 프론트엔드 개발자

0개의 댓글