📝24.01.17
오늘은 팀 프로젝트를 마무리하는 날이었다.
팀 프로젝트를 마무리하고, 다른 팀의 발표를 보면서 서로의 성과를 비교할 수 있었다. 사실 우리 팀 과제를 진행하며 어느정도 자신감은 있었다. 나름 기본적인 기능을 포함해서 부가적인 기능 등을 잘 완성했다고 생각했는데, 다른 팀들은 그에 더해 꾸미기에 컨셉까지 잘 부여한 것을 보고 감탄했다. 좀 더 나은 프로젝트를 만들 수 있었을 것 같다는 아쉬움이 들었다.
솔직히 아쉬운 마음이 많이 들어서, 깃허브를 포크하여서 좀 더 수정하고 다듬어 보고 싶다는 생각도 하였다.
오늘 배운 것을 정리하고 싶은데, 그를 위해서는 오늘은 작성한 알고리즘 문제들을 먼저 서술해야겠다.
📕
1) [프로그래머스] 음양 더하기
2) [프로그래머스] 핸드폰 번호 가리기
3) [프로그래머스] 제일 작은 수 제거하기
해당 세 문제를 풀면서 습득한 가장 인상적이었던 것은 1) 음양 더하기 문제의 Linq 이다.
using System;
using System.Linq;
public class Solution {
public int solution(int[] absolutes, bool[] signs) {
return absolutes.Select((t, idx) => signs[idx]? t : -t).Sum();
}
}
여기서 Select 문에 대한 해석은 해당 포스트에 작성하였지만, 어째서 저렇게 사용하면 idx
를 활용할 수 있던 것인지 Linq에 대해서 좀 더 공부하였다.
그래서 이 포스트를 참고하여 공부하였다. Linq에 대해서 어떻게 요소와 인덱스를 사용할 수 있었던 것인지 적절한 예제를 획득할 수 있었다.
사실 이 외에도 Linq에 대해서 여러 문서를 공부했었는데, 아직 머릿속에서 완벽하게 정리된 느낌은 아니다. C#을 제1언어로 사용하기 위해서는 앞으로도 꾸준히 코드카타에 참여하면서 학습해야하는 부분인 것 같다.