문제 풀기/C#

32. 내적

kagan-draca 2025. 1. 20. 13:11

 

기본틀 :

 

using System;

public class Solution {
    public int solution(int[] a, int[] b) {
        int answer = 1234567890;
        return answer;
    }
}

 

풀이 1) a나 b 중 하나의 매개변수를 활용해 Select 함수나 Where 함수를 이용해 콜백함수로 element와 b[index]로 두 요소를 곱하고 Sum() 함수로 다 더한다.

 

using System;
using System.Linq;

public class Solution 
{
    public int solution(int[] a, int[] b) {
        return a.Select((element, index)=> element * b[index]).Sum();
    }
}

 

 

풀이 2) 반복문을 활용해 a[index] * b[index]를 수행한다.

 

using System;

public class Solution {
    public int solution(int[] a, int[] b) {
        int sum = 0;
        for(int i = 0; i < a.Length; i++)
            sum += a[i] * b[i];
        return sum;
    }
}

 

풀이 1)이 풀이 2) 보다 더 많은 수행시간을 요구하는 이유로는

Select 함수에서 값을 변경시키는데 반복문이 실행 됐을 것이고,

Sum()함수에서도 모든 요소를 더하기 위해 반복문이 실행 됐을 것이기 때문이다.