개인공부/Programmers

[C#] 할 일 목록

H E E 2023. 8. 31. 21:49
728x90

문제 URL

https://school.programmers.co.kr/learn/courses/30/lessons/181885

 

문제

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

 

나의 풀이

using System;
using System.Collections.Generic;

public class Solution {
    public string[] solution(string[] todo_list, bool[] finished) {
        List<string> answer = new List<string>();
        
        for(int i = 0; i < todo_list.Length; i++)
            if(finished[i] == false) answer.Add(todo_list[i]);
        
        return answer.ToArray();
    }
}

 

다른 사람의 풀이

using System;
using System.Linq;

public class Solution {
    public string[] solution(string[] todo_list, bool[] finished) {
        return todo_list.Where((w, index) => !finished[index]).ToArray();
    }
}

 

💭

난이도가 올라갈 수록 Linq가 편리하게 쓰이는 것을 많이 보곤 한다.
Linq에 대한 이해도가 높지 않아 활용하지 못하는게 문제점인 것 같고, Linq에 대해 조금 더 학습할 필요가 있을 것 같다.
728x90
반응형