오늘의 알고리즘 문제는 주어진 배열의 숫자를 2배로 만드는 것!
for문을 이용하여 number배열의 길이만큼 반복하고 2를 곱하여 answer 배열에 입력해주면
쉽게 해결 할 수 있는 문제였다.
알고리즘 문제
for(int i=0; i<number.Length; i++) { answer[i] = number[i]*2; }
다른 사람들의 풀이를 보면 for문을 이용하지 않고도 Linq쿼리 문법을 이용하여
쉽게 해결하는 것을 볼 수 있었다.
그래서!! 오늘은 Linq쿼리 문법들을 찾아보았다.
System.Linq 네임스페이스에 추가
Range()
두개의 정수 매개변수를 받으며 첫번째가 시작하는 숫자, 두번째가 숫자 시퀀스의 길이이다.
예를 들어 Enumberable.Range(0,5); 는 {0,1,2,3,4}를 만들게 된다.
Where()
조건을 검색하여 조건에 해당하는 Index 값을 저장할 수 있다.
?? var형식은 배열 형태를 안만들어도 배열을 저장할 수 있네?? 알아봐야겠다.(완료)
Select()
Select(x => x * 2)
여기서 변환 함수는 입력 요소를 출력 요소로 변환하는 함수이며, Select() 메소드는 이 함수를 시퀀스의 모든 요소에 대해 적용하게 된다. 반환된 시퀀스는 입력 시퀀스와 동일한 수의 요소를 가지며, 각 요소는 입력 요소를 변환한 결과이다.
ToArray()
var numbers = Enumerable.Range(0, 10).ToList(); int[] array = numbers.ToArray();