diff --git "a/LiiNi-coder/202509/16 BOJ \354\240\204\352\271\203\354\244\204.md" "b/LiiNi-coder/202509/16 BOJ \354\240\204\352\271\203\354\244\204.md" new file mode 100644 index 00000000..69d03f99 --- /dev/null +++ "b/LiiNi-coder/202509/16 BOJ \354\240\204\352\271\203\354\244\204.md" @@ -0,0 +1,33 @@ +```java +import java.io.*; +import java.util.*; + +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[][] wires = new int[N][2]; + + for (int i = 0; i < N; i++) { + StringTokenizer st = new StringTokenizer(br.readLine()); + wires[i][0] = Integer.parseInt(st.nextToken()); + wires[i][1] = Integer.parseInt(st.nextToken()); + } + + Arrays.sort(wires, (a, b) -> a[0] - b[0]); // a와 b는 wires배열의 원소로, 이들의 0번째 원소를 기준으로 소팅 + + int[] dp = new int[N]; + int maxLen = 0; + for (int i = 0; i < N; i++) { + dp[i] = 1; + for (int j = 0; j < i; j++) { + if (wires[j][1] < wires[i][1]) { + dp[i] = Math.max(dp[i], dp[j] + 1); + } + } + maxLen = Math.max(maxLen, dp[i]); + } + System.out.println(N - maxLen); + } +} +```