문제를 직접 풀어보실 경우 여기를 클릭해 주세요.
문제 설명
오늘 해야 할 일이 담긴 문자열 배열 todo_list
와 각각의 일을 지금 마쳤는지를 나타내는 boolean 배열 finished
가 매개변수로 주어질 때, todo_list
에서 아직 마치지 못한 일들을 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤
todo_list
의 길이 1 ≤ 100 - 2 ≤
todo_list
의 원소의 길이 ≤ 20todo_list
의 원소는 영소문자로만 이루어져 있습니다.todo_list
의 원소는 모두 서로 다릅니다.
finished[i]
는 true 또는 false이고 true는todo_list[i]
를 마쳤음을, false는 아직 마치지 못했음을 나타냅니다.- 아직 마치지 못한 일이 적어도 하나 있습니다.
입출력 예
todo_list | finished | result |
---|---|---|
["problemsolving", "practiceguitar", "swim", "studygraph"] | [true, false, true, false] | ["practiceguitar", "studygraph"] |
입출력 예 설명
입출력 예 #1
- 예제 1번의
todo_list
중에서 "problemsolving"과 "swim"은 마쳤고, "practiceguitar"와 "studygraph"는 아직 마치지 못했으므로todo_list
에서 나온 순서대로 담은 문자열 배열 ["practiceguitar", "studygraph"]를 return 합니다.
문제 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function solution(todo_list, finished) {
// 마치지 못한 일들을 담을 배열을 초기화
const result = [];
// todo_list 배열을 인덱스별로 순회
for (let i = 0; i < todo_list.length; i++) {
// 만약 현재 인덱스의 일을 마치지 못했다면 (finished[i]가 false인 경우)
if (!finished[i]) {
// 해당 인덱스의 일을 result 배열에 추가
result.push(todo_list[i]);
}
}
// 마치지 못한 일들로 이루어진 배열을 반환
return result;
}
성능 요약
메모리: 33.5 MB
시간: 0.06 ms