문제

이 문제는 언듯 보았을때 문제를 이해하는데는 어렵지 않은 문제였다. 차례대로 더하여 100에 가깝게 가면된다.

N번째 버섯을 먹었을 때와 N-1번째 버섯을 먹을때 값을 바교하여 후자가 더 크면 계속 더해주고 전자가 더 크면 멈춰주면 되는 문제이다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import java.util.*;
 
public class Main{
    public static int [] arr;
    public static void main(String[] args) {
        Scanner sc= new Scanner(System.in);
        int sum=0;
        arr = new int [10];
        for(int i=0;i<10;i++)
        {
            arr[i]=sc.nextInt();
        }
        for(int i=0;i<10;i++)
        {
            if(Math.abs(sum+arr[i]-100)<=Math.abs(sum-100))
            {
                sum+=arr[i];
            }
            else
            {
                break;
            }
        }
        System.out.println(sum);
    }
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter

 

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

 

2851번: 슈퍼 마리오

문제 슈퍼 마리오 앞에 10개의 버섯이 일렬로 놓여져 있다. 이 버섯을 먹으면 점수를 받는다. 슈퍼 마리오는 버섯을 처음부터 나온 순서대로 집으려고 한다. 하지만, 모든 버섯을 집을 필요는 없고 중간에 중단할 수 있다. 중간에 버섯을 먹는 것을 중단했다면, 그 이후에 나온 버섯은 모두 먹을 수 없다. 따라서 첫 버섯을 먹지 않았다면, 그 이후 버섯도 모두 먹을 수 없다. 마리오는 받은 점수의 합을 최대한 100에 가깝게 만들려고 한다. 버섯의 점수가 주어

www.acmicpc.net

 

'알고리즘 > 문제' 카테고리의 다른 글

유학금지  (0) 2019.07.08
파티가 끝나고 난 뒤  (0) 2019.07.08
FBI  (0) 2019.07.08
블라인드  (0) 2019.06.30
블랙잭  (0) 2019.06.30

+ Recent posts