-
https://www.acmicpc.net/problem/1026
1026번: 보물
첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거
www.acmicpc.net
https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%201026
GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드
JAVA 소스 코드. Contribute to JUNGSOONIL/JAVA development by creating an account on GitHub.
github.com
해당 문제는 주어진 식에 대해서 S 값을 가장 작게 만드는 최솟값을 구하는 문제다.
S = A[0] × B[0] + ... + A[N-1] × B[N-1]
예전에 해당 문제를 보고 풀어보려 한 적이 있는데 그때는 왜 못 해결했을까라는
생각이 들 정도로 그냥 A배열은 오름차순 B배열은 내림차순으로 정렬하고 곱한 값을 더해서
출력해주면 쉽게 해결 가능한 문제다.
문제에서는 B는 재배열하면 안 된다고 하지만 해당 문제는 최솟값을 구하는 거지
B배열을 어떤 식으로 재배열해야 하는지를 구하는 문제가 아니라서
그냥 재배열해주었다.
오름차순은 그냥 Arrays.sort를 이용해 주었고, 내림차순에 대해서는 Arrays.sort를 이용하되
람다식을 이용해 정렬해주었다. 람다식을 사용하기 위해 배열은 int가 아닌 Integer으로 선언해
사용해 주었다.
728x90'알고리즘 > Baekjoon' 카테고리의 다른 글
Baekjoon 2776 암기왕 JAVA (0) 2021.11.27 Baekjoon 4949 균형잡힌 세상 JAVA (0) 2021.11.26 Baekjoon 1946 신입 사원 JAVA (0) 2021.11.23 Baekjoon 10773 제로 JAVA (0) 2021.11.22 Baekjoon 7785 회사에 있는 사람 JAVA (0) 2021.11.19 댓글