반응형
반응형
https://www.acmicpc.net/problem/1026
문제 요약
A의 요소*B의 요소 = S일 때 S의 최솟값 출력하기
참고
문제에서 'B에 있는 수는 재배열하면 안 된다'고 했지만 재배열해도 문제 없고,
재배열하는게 코드도 간단하므로 저 문구는 신경 쓰지 말 것
풀이
var n = int.Parse(Console.ReadLine());
var a = Console.ReadLine().Split().Select(int.Parse).OrderBy(x => x).ToArray();
var b = Console.ReadLine().Split().Select(int.Parse).OrderByDescending(x => x).ToArray();
var s = 0;
for (int i = 0; i < n; i++)
{
s += (a[i] * b[i]);
}
Console.WriteLine(s);
숏코딩
A.Zip(B, (x,y) => 조건) : 두 컬렉션의 요소를 페어링
더보기
var r=()=>Console.ReadLine().Split().Select(int.Parse);r();Console.Write(r().OrderBy(x=>x).Zip(r().OrderBy(x=>-x),(x,y)=>x*y).Sum());
이제 기본 코딩이랑 숏코딩 버전 나눠볼까
근데 오랜만에 기본 코드 쓰니까 좀 어색..
반응형
'Algorithm > BAEKJOON' 카테고리의 다른 글
[C#]백준 1057 토너먼트 - Hide (0) | 2024.11.19 |
---|---|
[C#]백준 17219 비밀번호 찾기 - Hide (0) | 2024.11.17 |
[C#]백준 1822 차집합 - Hide (0) | 2024.11.15 |
[C#]백준 7568 덩치 - Hide (0) | 2024.11.14 |
[C#]백준 2669 직사각형 네개의 합집합의 면적 구하기 - Hide (0) | 2024.11.13 |