π λ¬Έμ
π μμ΄λμ΄
λ¨Όμ νλ² λͺ¨λ μ λ ₯μ λ°λλ€.
κ·Έ νμλ 맨 λ€μμλΆν° iλ²μ§Έμ μ«μκ° i+1λ³΄λ€ μ μ΄λ 1μ΄μ μμμΌ νλ€λ 쑰건μΌλ‘ λ¬Έμ λ₯Ό ν΄κ²°νλ€.
μ¦ arr[i] = arr[i+1]-1μ΄μ΄μΌ νλ€.
1) νμ¬ arr[i] μ«μκ° arr [ i+1]λ³΄λ€ ν¬κ±°λ κ°μ κ²½μ° (arr[i]>=arr[i+1]) :
arr [i] = arr[i+1]-1μ΄μ΄μΌ μ΅μ쑰건μ λ§μ‘±νκΈ° λλ¬Έμ
sumμ arr[i]-arr[i+1]+1μ λνκ³ beforeμ arr[i+1]-1λ‘ λ°κΎΌλ€.
2) λ°λμ κ²½μ°μΈ arr[i]<arr[i+1]μ κ²½μ°λΌλ©΄ κ°λ₯ν κ²½μ°μ΄λ―λ‘ beforeκ°μ arr[i]λ‘ κ΅μ²΄νλ€.
π νμ΄
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));
int n = Integer.parseInt(br.readLine());
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(br.readLine());
}
int before = arr[n - 1];
int sum = 0;
for (int i = n - 2; 0 <= i; i--) {
if (arr[i] >= before) {
sum += (arr[i] - before + 1);
before = before - 1;
} else {
before = arr[i];
}
}
System.out.println(sum);
}
}
'λ°±μ€(boj)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JAVA]4803 νΈλ¦¬, λΆλ¦¬ μ§ν© (0) | 2023.06.03 |
---|---|
[JAVA]2240 μλλ무, 골λ 5, dp (0) | 2023.06.02 |
[JAVA]1063 νΉ, ꡬν, μ€λ²3 (0) | 2023.05.31 |
[JAVA]17143 λμμ (1) | 2023.05.29 |
[JAVA]2758 λ‘λ(dfs μκ°μ΄κ³Ό/ dp) (0) | 2023.05.28 |