백준

백준 2851 슈퍼 마리오(Java)

Park DJ 2023. 1. 16. 20:43

https://www.acmicpc.net/problem/2851

 

2851번: 슈퍼 마리오

첫째 줄에 마리오가 받는 점수를 출력한다. 만약 100에 가까운 수가 2개라면 (예: 98, 102) 마리오는 큰 값을 선택한다.

www.acmicpc.net


 

해석 및 팁

 


 

이 문제는 먼저 버섯의 값 10개를 먼저 입력받습니다. 그 다음 값을 더하다가 100을 넘었을때 그 값과 그 앞의 값을 비교해서 100과의 차이가 더 적은것을 골라 출력하면 됩니다. 차이가 같은 경우에는 큰 값을 출력하면 됩니다.

 

 


 

Java 코드

 


import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int[] arr = new int[10];        
    int sum = 0;

     for(int i = 0; i < 10; i++) {
      arr[i] = sc.nextInt();                //벼섯값 입력
     }

    for(int i = 0; i < 10; i++) {
      sum += arr[i];
      
      if(sum >= 100) {
        if(sum-100 <= 100-(sum-arr[i])) break;  //100에 가까운값 찾기
        else {
          sum = sum-arr[i];
          break;
        }
      }
    }
    
    System.out.println(sum);
  }
}