π‘ Info
λ΄μ©
Nλͺ μ λ³μ¬κ° 무μμλ‘ λμ΄λμ΄ μλ€. κ° λ³μ¬λ νΉμ ν κ°μ μ ν¬λ ₯μ 보μ νκ³ μμΌλ©°, λ³μ¬λ₯Ό λ°°μΉν λλ μ ν¬λ ₯μ΄ λμ λ³μ¬κ° μμͺ½μ μ€λλ‘ λ΄λ¦Όμ°¨μμΌλ‘ λ°°μΉλ₯Ό νκ³ μ νλ€. λ€μ λ§ν΄ μμͺ½μ μλ λ³μ¬μ μ ν¬λ ₯μ΄ νμ λ€μͺ½μ μλ λ³μ¬λ³΄λ€ λμμΌ νλ€.
λν λ°°μΉ κ³Όμ μμλ νΉμ ν μμΉμ μλ λ³μ¬λ₯Ό μ΄μΈμν€λ λ°©λ²μ μ΄μ©νλ€. κ·Έλ¬λ©΄μλ λ¨μμλ λ³μ¬μ μκ° μ΅λκ° λλλ‘ νκ³ μΆλ€.
μλ₯Ό λ€μ΄, N=7μΌ λ λμ΄λ λ³μ¬λ€μ μ ν¬λ ₯μ΄ λ€μκ³Ό κ°λ€κ³ κ°μ νμ.
μ΄ λ 3λ² λ³μ¬μ 6λ² λ³μ¬λ₯Ό μ΄μΈμν€λ©΄, λ€μκ³Ό κ°μ΄ λ¨μμλ λ³μ¬μ μκ° λ΄λ¦Όμ°¨μμ ννκ° λλ©° 5λͺ
μ΄ λλ€. μ΄λ λ¨μμλ λ³μ¬μ μκ° μ΅λκ° λλλ‘ νλ λ°©λ²μ΄λ€.
λ³μ¬μ λν μ λ³΄κ° μ£Όμ΄μ‘μ λ, λ¨μμλ λ³μ¬μ μκ° μ΅λκ° λλλ‘ νκΈ° μν΄μ μ΄μΈν΄μΌ νλ λ³μ¬μ μλ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
π₯μ λ ₯ 쑰건
7
15 11 4 8 5 2 4
π€μΆλ ₯ 쑰건
2
μ€μ νμ΄ μκ° : 12λΆ
μ λ ₯
κ³μ°
μΆλ ₯
import java.util.*;
public class Main {
static int N;
static int[] d;
static int maxSol;
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
N = sc.nextInt();
Integer[] arr = new Integer[N];
for(int i=0; i<N; i++){
arr[i] = sc.nextInt();
}
Arrays.sort(arr, Collections.reverseOrder());
d = new int[N];
Arrays.fill(d, 1);
for(int i = 1; i<N; i++){
for(int j = 0; j< i; j++) {
if(arr[j] > arr[i]){
d[i] = Math.max(d[i], d[j]+1);
}
}
}
for(int i=0; i<N; i++){
maxSol = Math.max(maxSol, d[i]);
}
System.out.println(N - maxSol);
}
}
//before
Arrays.sort(arr, Collections.reverseOrder());
d = new int[N];
Arrays.fill(d, 1);
//after
d = new int[N];
Arrays.fill(d, 1);
μ€μ νμ΄ μκ° : 20λΆ(첫 νμ΄ μκ° ν¬ν¨)
μ λ ₯
κ³μ°
μΆλ ₯
import java.util.*;
public class Main {
static int N;
static int[] d;
static int maxSol;
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
N = sc.nextInt();
Integer[] arr = new Integer[N];
for(int i=0; i<N; i++){
arr[i] = sc.nextInt();
}
d = new int[N];
Arrays.fill(d, 1);
for(int i = 1; i<N; i++){
for(int j = 0; j< i; j++) {
if(arr[j] > arr[i]){
d[i] = Math.max(d[i], d[j]+1);
}
}
}
for(int i=0; i<N; i++){
maxSol = Math.max(maxSol, d[i]);
}
System.out.println(N - maxSol);
}
}