[Java] 백준 - 1026번: 보물 (Silver IV)

배똥회장·2022년 10월 22일
0
post-thumbnail
post-custom-banner

📝 문제

백준 - 1026번: 보물 (Silver IV)


📝 풀이

📌 작성 코드

import java.io.*;
import java.util.*;
public class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int t = Integer.parseInt(br.readLine());
		
		int[] a = new int[t];
		int[] b = new int[t];
		int result = 0;
		
		for (int i = 0; i < 2; i++) {
			String[] temp = br.readLine().split(" ");
			for (int j = 0; j < t; j++) {
				if (i == 0) a[j] = Integer.parseInt(temp[j]);
				if (i == 1) b[j] = Integer.parseInt(temp[j]);
			}
		}
		
		Arrays.sort(a);
		Arrays.sort(b);
		
		for (int i = 0; i < t; i++) {
			result += (a[i] * b[t-i-1]);
		}
		
		System.out.println(result);
	}
}

📌 결과


📌 주의사항

DFS로 풀면 시간초과가 뜸

문제에서는 b의 순서를 바꾸면 안된다고는 하지만 어차피 문제의 요점은 작은 수 * 큰 수가 요점이기 때문에 그냥 a와 b를 오름차순 정렬 후 a는 작은 수부터 b는 큰 수부터 사용하면 됨

profile
어쩌면 개발자
post-custom-banner

0개의 댓글