
-Code
import java.io.*;
import java.util.*;
public class BOJ25400 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int cnt = Integer.parseInt(br.readLine());
// 숫자 받기
StringTokenizer st = new StringTokenizer(br.readLine());
int[] nums = new int[cnt];
for (int i = 0; i < cnt; i++) {
int num = Integer.parseInt(st.nextToken());
nums[i] = num;
}
// 뺄 숫자 계산
int answer = 0, now = 1;
for (int i = 0; i < cnt; i++) {
// 현재 값과 다르면 넘어감
if (nums[i] != now) {
continue;
}
// 맞는 수이므로 answer + 1하고 다름 수로 변경
answer++;
now++;
}
System.out.println(cnt - answer);
}
}
ArrayList로 index를 기준으로 remove하려고 했으나 그러면 O(n^2)나와서 문제가 되었습니다. 그래서 now로 따로 계산하여 비교하라는 힌트를 얻고 다르면 다음 index로 넘어가고 맞으면 now와 answer를 증가하는 식으로 해결했습니다
'Beakjoon&프로그래머스 > Java' 카테고리의 다른 글
| [백준/Java] 9466번 텀 프로젝트 (0) | 2026.01.29 |
|---|---|
| [백준/Java] 1987번 알파벳 (0) | 2026.01.29 |
| [백준/Java] 16920번 확장 게임 (0) | 2026.01.29 |
| [백준/Java] 1068번 트리 (0) | 2026.01.28 |
| [백준/Java] 16255번 Martian Volleyball (0) | 2026.01.28 |