Algorithm/Baekjoon

[Algorithm/Baekjoon] ๋‚˜๋ฌด ์ž๋ฅด๊ธฐ - 14247(S2/JAVA)

dpdms2148 2024. 11. 11. 20:28
728x90

๐Ÿ“‘๋ฌธ์ œ๋งํฌ

https://www.acmicpc.net/problem/14247

๐Ÿ’ป์ฝ”๋“œ

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Comparator;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int N = Integer.parseInt(br.readLine());

        StringTokenizer st = new StringTokenizer(br.readLine());
        int[][] height = new int[N][2];
        for (int i = 0; i < N; i++) {
            height[i][0] = Integer.parseInt(st.nextToken());
        }
        st = new StringTokenizer(br.readLine());
        for (int i = 0; i < N; i++) {
            height[i][1] = Integer.parseInt(st.nextToken());
        }

        long answer = 0;
        //์„ฑ์žฅ ๊ธธ์ด ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ
        Arrays.sort(height, Comparator.comparingInt((int[] o) -> o[1]));
        for (int i = 0; i < N; i++) {
            //๋‚˜๋ฌด ์ž๋ฅด๊ธฐ
            answer += height[i][0] + height[i][1] * i;
        }

        System.out.println(answer);


    }
}

โณํšŒ๊ณ 

  • ํ•˜๋ฃจ์— ํ•œ ๋‚˜๋ฌด๋งŒ ์ž๋ฅผ ์ˆ˜ ์žˆ๊ณ , ๊ฐ™์€ ๋‚˜๋ฌด๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ์ž๋ฅผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์กฐ๊ฑด์ด ํ—ท๊ฐˆ๋ ธ๋‹ค.
  • ๋งŽ์ด ์„ฑ์žฅํ•˜๋Š” ๋‚˜๋ฌด์ผ ์ˆ˜๋ก ๋‚˜์ค‘์— ์ž๋ฅด๋Š” ๊ฒƒ์ด ์œ ๋ฆฌํ•˜๋‹ค.
728x90