1 λΆ„ μ†Œμš”

πŸ“ [B1_2851] 슈퍼마리였

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        // ν•©
        int sum = 0;

        //  ν•© 이전 κ°’
        int sum_before = 0;

        int[] arr = new int[10];

        // κ²°κ³Ό
        int res = 0;
        for (int i = 0; i < 10; i++) {
            arr[i] = Integer.parseInt(br.readLine());
        }

        for (int i = 0; i < 10; i++) {
            sum_before = sum;
            sum += arr[i];

            // 합이 100인 경우
            if (sum == 100) {
                res = 100;
                break;
            }
            // μ „ 값은 100보닀 μž‘κ³  ν˜„μž¬ 값은 100보닀 클 λ•Œ
            else if (sum_before < 100 && sum > 100) {
                // λ‘κ°œμ˜ 차이가 κ°™κ±°λ‚˜ μ „κ°’μ΄λž‘ 더 크으면 더 큰 값을 선택
                if ((100-sum_before) >= (sum - 100)) {
                    res = sum;
                    break;
                }
                // μ•„λ‹ˆλ©΄ 100보닀 μž‘μ€ 값을 선택
                res = sum_before;
                break;
            }
            // λ‹€ μ•ˆλœ 경우
            else if(i == 9 && res ==0){
                res = sum;
            }
        }
        System.out.println(res);
    }
}

πŸ€” λ‚˜μ˜ 생각

λ°°μ—΄λ‘œ λ‹€ λ°›κ³  λ‚˜μ„œ μ‘°κ±΄λ§ˆλ‹€ λ‚˜λˆ„μ–΄ 계산을 ν•΄μ£Όμ—ˆλ‹€.
μŠ€ν„°λ””μ›λ“€μ˜ μ½”λ“œλ₯Ό λ³΄λ‹ˆ 정말 κΈ°λ°œν•œ μˆ˜ν•™μ‹λ„ λ§Žμ•˜λ‹€..
ifλ¬Έ ν•˜λ‚˜λ‘œ λλ‚΄λŠ” 식도 μžˆμ—ˆλ‹€.. λ³΄λ©΄μ„œ 가독성도 μ’‹κ³  κ°„λ‹¨ν•΄μ„œ λŒ€λ‹¨ν•˜λ‹€ μƒκ°ν–ˆλ˜ 것 κ°™λ‹€.
μ•žμœΌλ‘œλŠ” μ½”λ“œ 짜고 λ‚˜μ„œλ„ ν•œ λ²ˆλ” μ½”λ“œλ₯Ό κ°„λ‹¨ν•˜κ²Œ ν•΄λ³΄λŠ” μ—°μŠ΅μ„ ν•΄μ•Ό κ² λ‹€.