응애개발자
article thumbnail
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();
    }
}
profile

응애개발자

@Eungae-D

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!