ν•΄λ²„λ‹ˆ 2023. 12. 2. 14:43
λ°˜μ‘ν˜•

 

 

 

문제

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

 

2847번: κ²Œμž„μ„ λ§Œλ“  동쀀이

ν•™κ΅μ—μ„œ κ·Έλž˜ν”½μŠ€ μˆ˜μ—…μ„ 듀은 λ™μ€€μ΄λŠ” μˆ˜μ—…μ‹œκ°„μ— 듀은 λ‚΄μš©μ„ λ°”νƒ•μœΌλ‘œ 슀마트폰 κ²Œμž„μ„ λ§Œλ“€μ—ˆλ‹€. κ²Œμž„μ—λŠ” 총 N개의 레벨이 있고, 각 λ ˆλ²¨μ„ 클리어할 λ•Œ λ§ˆλ‹€ μ μˆ˜κ°€ 주어진닀. ν”Œλ ˆμ΄μ–΄

www.acmicpc.net

 

 

 

 

 

예제 μž…λ ₯ 1

3, 4, 5 순으둜 λ˜μ–΄μ•Ό ν•œλ‹€.

(5-3) + (5-4) = 3 

 

 

예제 μž…λ ₯ 2 

2, 3, 4, 5 순으둜 λ˜μ–΄μ•Ό ν•œλ‹€.

(5-2) + (3-3) + (7-4) = 6 

 

 

 

 

 

 

 

 

 

 

풀이

arr[arr.length-2] & arr[arr.length-1] ~ μ‹μœΌλ‘œ λ°°μ—΄ λ’· λΆ€λΆ„λΆ€ν„° μ•žμœΌλ‘œ κ°€λ©΄μ„œ 크기 κ²€μ‚¬ν•΄μ£ΌλŠ” μ‹μœΌλ‘œ μ½”λ“œλ₯Ό μž‘μ„±ν–ˆλ‹€. 

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int n = Integer.parseInt(br.readLine());
        int[] arr = new int[n];
        int sum = 0;

        for (int i = 0; i < arr.length; i++) {
            arr[i] = Integer.parseInt(br.readLine());
        }

        for (int i = arr.length - 2; i >= 0; i--) {
            if (arr[i] >= arr[i + 1]) {
                int num = arr[i] - arr[i + 1] + 1;
                sum += num;
                arr[i] -= num;
            }
        }

        bw.write(String.valueOf(sum));
        bw.flush();
        bw.close();
    }
}

 

 

 

 

 

 

 

 

μ •λ‹΅

 

 

 

 

 

λ°˜μ‘ν˜•