자바생
728x90

오답 노트 & 새로 알게 된 점

해당 문제는 이해가 어려웠지 구현은 어렵지 않았다.

가장 큰 양을 가진 에너지 드링크를 제외한 나머지를 /2 하여 가장 큰 양을 가진 에너지 드링크에 넣으면 된다.

중요한 게 소수점을 사용하기 때문에 double을 사용하고, 계산하는 중에 /2를 사용하는데, 이때 형 변환을 사용했다.

 


 

코드

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
28
29
30
31
32
33
34
35
36
37
package Greedy;
 
//BOJ 20115 에너지 드링크
 
import java.io.*;
import java.util.*;
 
public class Main {
    static int atoi(String str){
        return Integer.parseInt(str);
    }
    public static void main(String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
 
        int size = atoi(st.nextToken());
 
        int arr[] = new int[size];
        int max = -1;
        double sum = 0// 소수점 써야해서 double 써야할 듯
 
        st = new StringTokenizer(br.readLine());
 
        for(int i = 0; i < size; i++){
            int bottleSize = atoi(st.nextToken());
            if(bottleSize > max) max = bottleSize;
            arr[i] = bottleSize;
        }
 
        for(int index : arr){
            if(max != index) sum += (double) index / 2;
        }
        sum += max;
        System.out.print(sum);
    }
}
 
cs
728x90
profile

자바생

@자바생

틀린 부분이 있다면 댓글 부탁드립니다~😀

검색 태그