LINQ : C# 언어에 직접 쿼리 기능을 통합하는 방식을 기반으로 하는 기술 집합 이름
쿼리 작업의 순서
1. 데이터 소스 가져오기
2. 쿼리 만들기
3. 쿼리 실행

쿼리 구문은 코드를 컴파일 할때 .NET CLR에 대한 메서드 호출로 변환해야 한다. 이러한 메서드 호출은 Where, Select, GroupBy 등과 같은 표준 쿼리 연산자를 호출한다.
//Query syntax:
IEnumerable<int> numQuery1 =
from num in numbers
where num % 2 == 0
orderby num
select num;
//Method syntax:
IEnumerable<int> numQuery2 = numbers.Where(num => num % 2 == 0).OrderBy(n => n);
두 예제는 쿼리문을 입력한 방식은 다르지만 출력은 동일하다.
LINQ를 활용해 문제를 풀어보자
https://school.programmers.co.kr/learn/courses/30/lessons/134240
using System;
using System.Linq;
public class Solution {
public string solution(int[] food)
{
string answer = "";
var realfood = food.Select(n => n % 2 ==1 ? (n -1)/2 : n/2).ToArray();
for(int index = 0; index<food.Length; index++)
{
int cnt = 0;
while(true)
{
if (cnt == realfood[index]) break;
answer += index;
cnt++;
}
}
answer += 0;
for(int index = realfood.Length-1; index >= 0; index--)
{
int cnt = 0;
while(true)
{
if (cnt == realfood[index]) break;
answer += index;
cnt++;
}
}
return answer;
}
}