[알고리즘문제풀기] 할 일 목록

silver's avatar
Mar 02, 2025
[알고리즘문제풀기] 할 일 목록

문제

내가 작성한 정답

import java.util.*; class Solution { public String[] solution(String[] todo_list, boolean[] finished) { List<Integer> index = new ArrayList<>(); for(int i=0;i<finished.length;i++){ if(!finished[i]) index.add(i); } String[] answer = new String[index.size()]; for(int i=0; i < index.size(); i++){ answer[i] = todo_list[index.get(i)]; } return answer; } }

다른 사람들의 정답

class Solution { public String[] solution(String[] todo_list, boolean[] finished) { String str = ""; for(int i=0; i<finished.length; i++){ // i가 false라면 String str에 글자와 ,를 추가하여 리턴 시 , 로 쪼갠 배열을 리턴한다. str = finished[i]==false ? str+todo_list[i]+"," : str; } return str.split(","); } }
import java.util.stream.IntStream; class Solution { public String[] solution(String[] todo_list, boolean[] finished) { // 0부터 finished.length - 1까지의 정수 스트림을 생성 return IntStream.range(0, finished.length) // finished 배열에서 false인 인덱스만 필터링 .filter(i -> !finished[i]) // 필터링된 인덱스를 사용하여 todo_list에서 해당 요소를 가져옴 .mapToObj(i -> todo_list[i]) // 최종적으로 String 배열로 변환하여 반환 .toArray(String[]::new); } }
Share article

silver