ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 11399 ATM
    백준/그리디 알고리즘 2021. 10. 18. 19:51

    예제에 나온 값들로 생각해보면,

    결국 3,1,4,3,2 중에서 1개는 5번 더해지고, 1개는 4번 더해지고, 1개는 3번 더해지고,

    1개는 2번 더해지고, 1개는 1번 더해진다

     

    그래서 제일 작은 값이 5번 더해지고, 제일 큰 값이 1번 더해지도록 해야한다.

     

    그래서 3,1,4,3,2를 오름차순 정렬해서 아래와 같이 만들고

    1 2 3 3 4

     

     

    아래처럼 각 배열의 값들을 더해준다.

     

    (1이 5번 더해지고, 4가 1번 더해진다.)

     

     

    가:1+2+3+3+4

    나:1+2+3+3

    다:1+2+3

    라:1+2

    마:1

     

    한 뒤 

    가+나+다+라+마 를 해주면 된다.

     

     

    import java.util.Arrays;
    import java.util.Scanner;
    
    public class Main {
    
    	
    	public static void main(String[] args){
    
    		Scanner sc = new Scanner(System.in);
    		int N = sc.nextInt();
    		int arr[] = new int[N];
    		for(int i=0; i<N;i++) {
    			arr[i]=sc.nextInt();
    		}
    		
    		Arrays.sort(arr);
    		
    		int sum=0;
    		for(int k=N;k>0;k--) {
    		for(int j=0;j<k;j++) {
    			sum+=arr[j];
    		}
    }
    		
    		System.out.println(sum);
    	}
    }

    '백준 > 그리디 알고리즘' 카테고리의 다른 글

    1439 뒤집기  (0) 2022.02.10
    11047 동전0  (0) 2021.10.18
    5585 거스름돈  (0) 2021.10.18
    2217 로프  (0) 2021.10.18
    10162 전자레인지  (0) 2021.10.18

    댓글

Designed by Tistory.