기본틀 :
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()함수에서도 모든 요소를 더하기 위해 반복문이 실행 됐을 것이기 때문이다.
'문제 풀기 > C#' 카테고리의 다른 글
34. 문자열 내림차순으로 배치하기(문자열.ToCharArray(), Array.Sort(), Array.Reverse()) (0) | 2025.01.20 |
---|---|
33. 약수의 개수와 덧셈 (0) | 2025.01.20 |
31. 수박(string.Concat() 함수, Enumerable.Repeat 함수) (0) | 2025.01.17 |
30. 가운데 글자 가져오기(Substring(시작 위치, 개수)) (0) | 2025.01.17 |
29.제일 작은 수 제거하기 (0) | 2025.01.17 |