Java
[백준 12845] 모두의 마블 (JAVA)
iheeeee6-6
2023. 6. 1. 16:01
728x90
https://www.acmicpc.net/problem/12845
12845번: 모두의 마블
영관이는 게임을 좋아한다. 별의별 게임을 다 하지만 그 중에서 제일 좋아하는 게임은 모두의 마블이다. 어김없이 오늘도 영관이는 학교 가는 버스에서 캐릭터 합성 이벤트를 참여했다. 이번 이
www.acmicpc.net
요즘 백준을 아무리 풀어도 실력이 늘지 않는 느낌을 받았다.
오픈 채팅방에 고민을 털었도니, 어떤 분께서 그리디 알고리즘을 많이 풀어보라고 조언해주셨다!
그래서 그리디 알고리즘만 n일째 패는 중 ㅎㅎ 그리디 알고리즘이 딱히 정해진 틀은 없는 거 같아서 문제마다 좀 새롭다..
하지만~ 이 문제는 간단한 실버3 문제였다!
가장 큰 수를 기준으로 더해가면 해결된다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
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());
int max=0;
int idx=0;
ArrayList<Integer> list = new ArrayList<>();
StringTokenizer st = new StringTokenizer(br.readLine());
for(int i=0;i<n;i++) {
list.add(Integer.parseInt(st.nextToken()));
if(max<list.get(i)) {
max=list.get(i);
idx=i;
}
}
int result=0;
for(int i=idx+1;i<=n-1;i++) {
result+=max+list.get(i);
}
for(int i=idx-1;i>=0;i--) {
result+=max+list.get(i);
}
System.out.println(result);
}
}