• 생각

한쌍씩 곱한 숫자를 모두 다 더한 값을 출력하면 되는 문제이다.

 

  • 코드

정답 코드 : count를 통해 그전까지의 수들을 더해주면서 다음 index에 곱해준다. (모든 쌍의 곱을 더하기 위함.)

 

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

public class Main {
	static int N;
	static int[] array;

	public static void main(String[] args) throws Exception {
		SetData();
		System.out.println(ReturnMaxValue());
	}

	private static void SetData() throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = null;
		N = Integer.parseInt(br.readLine());
		array = new int[N];	

		st = new StringTokenizer(br.readLine());
		for(int i = 0; i < N; i++) {
			array[i] = Integer.parseInt(st.nextToken());
		}
	}
	
    private static int ReturnMaxValue()   {
        int sum = 0, count = array[N-1];
        for(int i = N-1; i > 0; i--) {
        	sum += count*array[i-1];
        	count += array[i-1];
        }
        
        return sum;
    }
}

'algorithm' 카테고리의 다른 글

[JAVA] 백준 18429번 : 근손실  (0) 2020.12.10
[JAVA] 백준 20004번 : 베스킨라빈스 31  (0) 2020.12.07
[JAVA] 백준 1931번 : 회의실 배정  (0) 2020.12.04
[JAVA] 백준 11399번 : ATM  (0) 2020.12.04
[JAVA] 백준 3036번 : 링  (0) 2020.12.03

+ Recent posts