240118-TIL

2024. 1. 18. 20:52내일배움캠프

오늘부터는 UNITY에 대한 학습이 시작된다

 

팀 프로젝트가 끝나서 살짝 여유가 생긴줄 알았는데 어림도 없다

 

주특기 교육이 시작된만큼 열심히 배워보도록 하자.

 

오늘 TIL은 알고리즘 문제 하나를 풀다 신박한 녀석을 발견해서 가지고 와봤다.

 

오늘 풀어본 문제는 바로

 

내적이라고 한다.

 

 

 

사실 문제 자체는 정말 쉽게 풀었다. a와 b의 배열의 길이가 같다는 조건이 있으니

 

i를 a배열의 길이만큼 반복한다음 i번째에 있는 a와 b배열의 요소를 곱해서 answer에 다 더해주면 끝이다.

 

이렇게 끝날 문제면 들고오지도 않았겠지?

 

이렇게 알고리즘을 스스로 풀어보고 나면 다른 사람들은 어떻게 풀었는지 항상 체크하고있는데

 

 

키야 정말 신박하지 않은가! Zip은 도대체 뭐하는 녀석일까? 그리고 저 뒤에있는 Sum()은 뭐하는 녀석일까?

 

너무 궁금하니 우리 함께 알아보도록 하자

 

일단 Zip 그리고 Sum을 사용하기 위해선

 

 

Linq가 필요하다

 

Zip은 데이터 컬렉션 즉 List,Array,Dictionary의 각각의 요소를 병합할 때 사용한다고 한다.

 

다른 형태의 컬렉션도 타입만 맞는다면 병합이 가능하다는 장점이 있다.

 

단점? 혹은 특이사항이라고 한다면 각각의 스퀸스가 맞는 요소간의 병합만 가능하다는 점이다.

 

해당 메서드의 내용은 Microsoft 설명서에서도 살펴볼 수 있는데

 

 

해당 메서드의 오버로드는 위에 이미지와 같다고 한다.

 

Zip에 대해서 살펴봤는데 그렇다면 Sum()은 어떤 기능을 담당하는 녀석인지 살펴보자

 

Sum() 메서드는 컬렉션과 같은 데이터 집합에서 숫자 타입인 값의 합계를 계산하기 위해 사용되는 녀석이다.

 

아하 그냥 숫자로 된 값을 다 더해주는 녀석이구나? 라고 생각하면 될것같다.

 

 

즉 해당 코드를 말로 해석하면?

 

Zip을 이용해 a와 b의 동일한 스퀸스의 요소를 병합한다 => 곱하는 방식으로 그렇게 생성된 값을 다 더해준다!

 

라고 볼수 있을것 같다.

 

동일한 문제를 다른사람이 어떻게 풀었나 보고 그 사람이 풀이한 방식에서 내가 모르는 기능을 발견하는게

 

참 재밌는것 같다. 그리고 또 이런게 프로그래밍의 매력이라고 생각하기도하고

 

오늘은 Zip과 Sum에 대해서 알아보았다

 

1월 18일 TIL은 여기서 마치도록 하겠다.

'내일배움캠프' 카테고리의 다른 글

240123-TIL  (0) 2024.01.23
240122-TIL  (0) 2024.01.22
240116-TIL  (0) 2024.01.16
240115-TIL  (0) 2024.01.15
240112-TIL  (0) 2024.01.12