지구정복

[Greedy] 백준 - 모두의마블 본문

데이터 엔지니어링 정복/Algorithm

[Greedy] 백준 - 모두의마블

eeaarrtthh 2021. 6. 4. 21:25
728x90
반응형
//40 30 30인 경우
//40 + 30
//40 + 30
//40 * 2 + (30 + 30)
//
//50 40 40 30인 경우
//50 + 40
//50 + 40
//50 + 30
//50 * 3 + (40 + 40 + 30)
//
//60 60 40 40 30인 경우
//60 + 60
//60 + 40
//60 + 40
//60 + 30
//60 * 4 + ( 60 + 40 + 40 + 30 )
//
//따라서 공식
//( max * (n-1) )+ ( 나머지 값들의 합)

-자바

package greedy;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.StringTokenizer;

public class marble {

	private static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
	
	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		StringTokenizer st;
		
		int n = Integer.parseInt( br.readLine() );
		ArrayList<Integer> L = new ArrayList<>();

		st = new StringTokenizer( br.readLine() );
		
		int max = 0;
		int maxIndex = 0;
		int result = 0;
		
		while( st.hasMoreTokens() ) {
			L.add( Integer.parseInt(st.nextToken() ) );
		}
		
		for( int i=0; i<n; i++ ) {
			int level = L.get(i);
			
			if( max < level ) {
				max = level;
				maxIndex = i;
			}
			result += level;
		}
		
		result += max * (L.size() - 2);
		
		bw.write( result + "\n" );
		bw.flush();
		
		bw.close();
		br.close();
	}
}
728x90
반응형

'데이터 엔지니어링 정복 > Algorithm' 카테고리의 다른 글

[Greedy] 이코테 - 큰수의 법칙  (0) 2021.06.06
[Greedy] 백준 - DNA  (0) 2021.06.05
[Greedy] 백준 - 강의실배정  (0) 2021.06.04
[Greedy] 백준 - 신입사원  (0) 2021.06.03
[Greedy] 백준 - 동전0  (0) 2021.06.03
Comments