์๊ณ ๋ฆฌ์ฆ ํ์ด
https://www.acmicpc.net/problem/1700
๊ณจ๋ ๋ฌธ์ !!
๋จผ์ K๊ฐ์ ์ ํ์ ๋๋ฉด์, ๋ฉํฐํญ์ ๋ชจ๋ ์ฑ์์ค๋ค!
์์ง ๋จ์๋ค๋ฉด, ๋บ์ง ์๋บ์ง๋ฅผ ์ ํด์ค์ผํ๋๋ฐ
์ด๋ฏธ ๋ผ์์ ธ ์๋ค๋ฉด pass~
์ ๋ผ์์ ธ ์๋ค๋ฉด, ๋ผ์์ ธ ์๋ ๊ฒ๋ค์ ๋๋ฉด์ ๋ค์ ๋ ์ฌ์ฉ๋๋์ง๋ฅผ ํ์ธํ๋ค!
๋ง์ฝ ์ ๋ถ ์ด๋ค๋ฉด, ๊ฐ์ฅ ๋ง์ง๋ง์ ์ฌ์ฉ๋๋ ๊ฒ์ ๋นผ์ฃผ๋ ๋ฐฉ์์ผ๋ก ์งํ!!
ํ ์ผ๊ฐ ๋ค ํต๊ณผํด์ ์ ์ถํ๋๋ ๋์๊ฒ ์ค๋ ๊ฒ์
์๊ทธ๋ฐ๊ฐ ๊ฒ์ํ์์ ์ฐธ๊ณ ํด๋ดค๋๋
K๊ฐ์ ๊ธฐ๊ณ๋ค์ด ํ ๋ฒ๋ ์๋น ์ง๊ณ ์งํ๋๋ ๊ฒฝ์ฐ์์ ๋ฐ์ํ๋ค
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ด๊ธฐ์ ๋ชจ๋ ์ฑ์์ฃผ๋ ๋ถ๋ถ์์ ์กฐ๊ฑด์ ํ๋๋ ์ถ๊ฐ!
๊ทธ ํ ํต๊ณผ!
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main_BOJ_1700_๋ฉํฐํญ_์ค์ผ์ค๋ง {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int K = Integer.parseInt(st.nextToken());
st = new StringTokenizer(br.readLine());
int[] arr = new int[K];
for (int i = 0; i < K; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
boolean[] isUsed = new boolean[K + 1];
int index = 0, count = 0;
while (count < N && index < K) {
if (!isUsed[arr[index]]) {
isUsed[arr[index]] = true;
count += 1;
}
index += 1;
}
int answer = 0;
while (index < K) {
if (!isUsed[arr[index]]) {
List<Integer> list = new ArrayList<>();
for (int i = index; i < K; i++) {
if (isUsed[arr[i]] && !list.contains(arr[i])) list.add(arr[i]);
}
if (list.size() == N) {
int remove = list.get(list.size() - 1);
isUsed[remove] = false;
} else {
for (int j = 1; j <= K; j++) {
if (isUsed[j] && !list.contains(j)) {
isUsed[j] = false;
break;
}
}
}
isUsed[arr[index]] = true;
answer += 1;
}
index += 1;
}
System.out.println(answer);
}
}
๋ด๋ฐฐ์บ ์คํ๋ง ์ ๋ฌธ ๊ฐ์ ์๋
Spring JPA๋ฅผ ๋ง์ง๋ง์ผ๋ก 1-2์ฃผ์ฐจ ๊ฐ์๋ฅผ ์ ๋ถ ๋ค์๋ค!
'TIL๐ฅ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
23.11.09 TIL (0) | 2023.11.09 |
---|---|
23.11.08 TIL (0) | 2023.11.08 |
23.11.06 TIL (2) | 2023.11.06 |
23.11.02 TIL (0) | 2023.11.02 |
23.11.01 TIL (0) | 2023.11.01 |