내일배움캠프 13일차 TIL : 배치고사, 팀 프로젝트

김정환·2024년 9월 30일
0
post-thumbnail

키워드

  • Linq
  • 팀프로젝트

System.Linq 응용

배치고사 준비하면서 문제를 풀다가 Linq를 사용해봤다.

int[] arr = {2, 4, 9, 7, 5};

Sum()

기본에 배열의 합을 구할 때는 반복문으로 일일히 다 더했다.

int sum = arr.Sum();

Select()

컬렉션을 순회하며 원하는 방식으로 원소를 수정하거나 변경할 수 있다.
각 원소 제곱하기

int[] newArr = arr.Select(n => n * n).ToArray()
// 4 16 81 49 25

Where()

컬렉션을 순회하며 조건에 맞으면 선택한다.
SQL에 있는 Where과 쓰임이 동일하다.

int[] odd = arr.Where(n => n % 2 == 1).ToArray();
// 9 7 5

위와 같이 홀수 컬렉션만 추출하는 등으로 쓸 수 있다.

Enumerable.Range(int start, int end)

매개변수 start부터 1씩 올라가며 마지막 값이 end인 컬렉션을 출력한다.

// 소수 판별 함수
public static bool IsPrime(int n)
{
    if(n == 0 || n == 1) 
        return false;

    for (int i = 2; i < n; i++)
    {
        if (n % i == 0) return false;
    }

    return true;
}

int n = 50;
int[] newArr = Enumerable.Range(1, n).Where(x => IsPrime(x)).ToArray();
// 소수만 모으기

아직 다 써보진 않았지만
Linq를 응용하면 반복문 이상으로 활용도가 높아 코드가 더 간결해지는 효과를 볼 수 있었다.

팀프로젝트

오늘은 전반적으로 기초 기능 구현에 힘썼다.
애매했던 부분은 더 정리해서 상점, 인벤토리, 휴식 기능을 완료했다.
아이템 강화 기능으로 넘어가려는데 문제가 생겼다.

지금까지는 아이템에 중복이 불가능했지만, 던전 보상 등으로 아이템의 중복 소유가 가능해졌다.
이제 각 아이템 인스턴스마다 구별용 값을 만들어주어서 서로 서로 다른 객체라는 것을 명시해주어야 한다.

저번 진행도 17.~ %에서 43.3%로 진행된 모습니다.
하루 작업량이 대략 26% 정도는 됐다고 볼 수 있다.

다만, 전반적으로 코딩 자체가 어려운 팀원들도 있는 듯 보인다.
이 부분은 아직은 코딩의 양 자체가 많지 않아다보니 생소해서 생기는 일인 듯하다.
단, 이대로 계속 방치해 둘 수도 없으니 내일은 튜터님께 한번 상담을 받아봐야겠다.

#내일배움캠프 #스파르타내일배움캠프 #스파르타내일배움캠프TIL

profile
사파 개발자

0개의 댓글