알고리즘 문제풀이/백준

#1026 : 보물

모항 2022. 1. 14. 01:38

 

풀이방법

사용된 것:

Arrays.sort

배열의 요소들을 정렬해준다.

 

2022.01.14

B의 요소들의 순서는 바꿔선 안 된다는 조건은 신경쓰지 말자. 결과만 옳게 나오면 된다. 이거 신경 쓰다가 시간 버렸다.

A를 오름차순으로, B를 내림차순으로 정렬한 뒤 S 함수를 수행하면 최솟값을 구할 수 있다.

 

코드

Java(2022.01.14)

import java.util.Scanner;
import java.util.Arrays;
import java.util.Collections;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Scanner sc = new Scanner(System.in);
		
		int n = sc.nextInt();
		
		//sort로 역순 정렬을 할 때 int[]는 인자로 받지 못하므로 배열들은 Integer[]로 선언
		Integer[] A = new Integer[n];
		Integer[] B = new Integer[n];
		
		for(int i = 0; i<n; i++) {
			A[i] = sc.nextInt(); 
		}
		for(int i = 0; i<n; i++) {
			B[i] = sc.nextInt(); 
		}
		Arrays.sort(A);
		Arrays.sort(B, Collections.reverseOrder());
		
		int sum = 0;
		
		for(int i = 0; i<n; i++) {
			
			sum += A[i]*B[i];
			
		}
		
		System.out.print(sum);
		
		
		sc.close();
		
	}

}

'알고리즘 문제풀이 > 백준' 카테고리의 다른 글

#6996 : 애너그램  (0) 2022.01.21
#4583 : 거울상  (0) 2022.01.19
#15904 : UCPC는 무엇의 약자일까?  (0) 2022.01.19
#11656 : 접미사 배열  (0) 2022.01.14
#15889 : 호 안에 수류탄이야!!  (0) 2022.01.13