코딩테스트/백준
[Java] 백준 2851번 : 슈퍼 마리오
Eungae-D
2024. 4. 13. 11:39
728x90
문제
2851번: 슈퍼 마리오
첫째 줄에 마리오가 받는 점수를 출력한다. 만약 100에 가까운 수가 2개라면 (예: 98, 102) 마리오는 큰 값을 선택한다.
www.acmicpc.net
코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
private static StringBuilder sb;
private static BufferedReader br;
private static StringTokenizer st;
private static int[] arr;
private static int sum = 0;
private static int height,nextHeight,heightABS,nextHeightABS;
//입력
public static void input() throws Exception {
br = new BufferedReader(new InputStreamReader(System.in));
sb = new StringBuilder();
arr = new int[10];
for(int i = 0 ; i < 10 ; i++){
arr[i] = Integer.parseInt(br.readLine());
}
}
//실행
public static void process() {
for(int i = 0 ; i < 10 ; i++){
sum += arr[i];
if(sum<=100){
height = sum;
}else{
nextHeight = sum;
break;
}
}
heightABS = Math.abs(100-height);
nextHeightABS = Math.abs(100 - nextHeight);
if(heightABS > nextHeightABS){
System.out.println(nextHeight);
}else if(heightABS < nextHeightABS){
System.out.println(height);
}else{
System.out.println(nextHeight);
}
}
public static void main(String[] args) throws Exception {
input();
process();
}
}