01-24 00:19
Recent Posts
Recent Comments
Tags
- ์๋ฐ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์จ์ผ๋ํ
- ICT
- mysql
- SQL
- TSQL
- Naver Cloud
- ์คํฝ๋ ํ
- ict๊ณต๋ชจ์
- python
- JOBํ๊ณ
- ์ด๋ธ์
- Spring
- ์กํ๊ณ
- ICT๋ฉํ ๋ง
- ์คํฝ์ค๋น
- appetizer
- DB
- RaspberryPi
- ํ์ด์ฌ
- ํ๋ก๋ณด๋ ธ
- ํ์ด์
- Java
- DATABASE
- ํ์ด์๊ณต๋ชจ์
- API๋ง์ผํ๋ ์ด์ค
- API MarketPlace ๊ธ๋ก๋ฒ ์ํฌํฐ์ฆ
- ์๋์ด๋ ธ
- linux
- Today
- Total
miinsun
[BAEKJOON] ๋ฐฑ์ค ๊ทธ๋ฆฌ๋ 1700 :: ๋ฉํฐํญ ์ค์ผ์ค๋ง ๋ณธ๋ฌธ
Algorithm/Baekjoon
[BAEKJOON] ๋ฐฑ์ค ๊ทธ๋ฆฌ๋ 1700 :: ๋ฉํฐํญ ์ค์ผ์ค๋ง
miinsun 2022. 6. 7. 22:31
๐ฌ ๋ฌธ์ ์ค๋ช
๊ธฐ์์ฌ์์ ์ด๊ณ ์๋ ์ค๊ท๋ ํ ๊ฐ์ ๋ฉํฐํญ์ ์ด์ฉํ๊ณ ์๋ค. ์ค๊ท๋ ํค๋ณด๋, ํค์ด๋๋ผ์ด๊ธฐ, ํธ๋ํฐ ์ถฉ์ ๊ธฐ, ๋์งํธ ์นด๋ฉ๋ผ ์ถฉ์ ๊ธฐ ๋ฑ ์ฌ๋ฌ ๊ฐ์ ์ ๊ธฐ์ฉํ์ ์ฌ์ฉํ๋ฉด์ ์ด์ฉ ์ ์์ด ๊ฐ์ข ์ ๊ธฐ์ฉํ์ ํ๋ฌ๊ทธ๋ฅผ ๋บ๋ค ๊ฝ์๋ค ํ๋ ๋ถํธํจ์ ๊ฒช๊ณ ์๋ค.
๊ทธ๋์ ์ค๊ท๋ ์์ ์ ์ํ ํจํด์ ๋ถ์ํ์ฌ, ์๊ธฐ๊ฐ ์ฌ์ฉํ๊ณ ์๋ ์ ๊ธฐ์ฉํ์ ์ฌ์ฉ์์๋ฅผ ์์๋ด์๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฌ๊ทธ๋ฅผ ๋นผ๋ ํ์๋ฅผ ์ต์ํํ๋ ๋ฐฉ๋ฒ์ ๊ณ ์ํ์ฌ ๋ณด๋ค ์พ์ ํ ์ํํ๊ฒฝ์ ๋ง๋ค๋ ค๊ณ ํ๋ค.
์๋ฅผ ๋ค์ด 3 ๊ตฌ(๊ตฌ๋ฉ์ด ์ธ ๊ฐ ๋ฌ๋ฆฐ) ๋ฉํฐํญ์ ์ธ ๋,
์ ๊ธฐ์ฉํ์ ์ฌ์ฉ ์์๊ฐ ์๋์ ๊ฐ์ด ์ฃผ์ด์ง๋ค๋ฉด,
1. ํค๋ณด๋
2. ํค์ด๋๋ผ์ด๊ธฐ
3. ํธ๋ํฐ ์ถฉ์ ๊ธฐ
4.๋์งํธ ์นด๋ฉ๋ผ ์ถฉ์ ๊ธฐ
5. ํค๋ณด๋
6. ํค์ด๋๋ผ์ด๊ธฐ
ํค๋ณด๋, ํค์ด๋๋ผ์ด๊ธฐ, ํธ๋ํฐ ์ถฉ์ ๊ธฐ์ ํ๋ฌ๊ทธ๋ฅผ ์์๋๋ก ๋ฉํฐํญ์ ๊ฝ์ ๋ค์ ๋์งํธ ์นด๋ฉ๋ผ ์ถฉ์ ๊ธฐ ํ๋ฌ๊ทธ๋ฅผ ๊ฝ๊ธฐ ์ ์ ํธ๋ํฐ์ถฉ์ ๊ธฐ ํ๋ฌ๊ทธ๋ฅผ ๋นผ๋ ๊ฒ์ด ์ต์ ์ผ ๊ฒ์ด๋ฏ๋ก ํ๋ฌ๊ทธ๋ ํ ๋ฒ๋ง ๋นผ๋ฉด ๋๋ค.
๐จ ์ ์ถ๋ ฅ ์
์ ๋ ฅ
- ์ฒซ ์ค์๋ ๋ฉํฐํญ ๊ตฌ๋ฉ์ ๊ฐ์ N (1 ≤ N ≤ 100)๊ณผ ์ ๊ธฐ ์ฉํ์ ์ด ์ฌ์ฉํ์ K (1 ≤ K ≤ 100)๊ฐ ์ ์๋ก ์ฃผ์ด์ง๋ค.
- ๋ ๋ฒ์งธ ์ค์๋ ์ ๊ธฐ์ฉํ์ ์ด๋ฆ์ด K ์ดํ์ ์์ฐ์๋ก ์ฌ์ฉ ์์๋๋ก ์ฃผ์ด์ง๋ค.
- ๊ฐ ์ค์ ๋ชจ๋ ์ ์ ์ฌ์ด๋ ๊ณต๋ฐฑ๋ฌธ์๋ก ๊ตฌ๋ถ๋์ด ์๋ค.
์ถ๋ ฅ
- ํ๋์ฉ ํ๋ฌ๊ทธ๋ฅผ ๋นผ๋ ์ต์์ ํ์๋ฅผ ์ถ๋ ฅํ์์ค.
์์ ์ ๋ ฅ 1)
2 7
2 3 2 3 1 2 7
์์ ์ถ๋ ฅ 1)
2
โ
๐ป Main.java
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ์ ๋ต์ ์ ์ ํ๊ฒ ๋ง๋ค์ง ์์ ํ์ด์ ์ค๋๊ฑธ๋ ธ๋ ๋ฌธ์ ์ด๋ค.
- ์ด์ ์ ์๋ชป ๊ตฌํํ ๋ฐฉ๋ฒ์ ํ์์ ์์ ๋จ์ ์ฌ์ฉํ์ ์ค ๊ฐ์ฅ ์ ๊ฒ ๋ฑ์ฅํ๋ ๊ฒ์ ๊ธฐ์ค์ผ๋ก ํ๋ค.
- ์ด ๋ฐฉ๋ฒ์ ๋ฌธ์ ์์ ์ํ๋ ๋ฐฉ์์ด ์๋์ผ๋ก ์๋์ ๋ฐฉ๋ฒ์ผ๋ก ํ์ดํด์ค์ผํ๋ค.
- ๋ฐ๋ก๋ก๋
- ์ปจ์ ํธ์ ์๊ฐ 4์ด๊ณ , ์ฌ์ฉํ์๊ฐ 20์ผ ๋
- 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 ์์ผ๋ก ์ ๋ ฅ๋๋ค๋ฉด
- ์ดํ์ ๋ชจ๋ ๊ธฐ๊ธฐ๊ฐ ๊ฐ์ ํ์๋ก ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ์ ์ ํ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ๋ณด๊ธฐ ์ด๋ ต๋ค.
- ๋ฌธ์ ์ ์ ์ ํ ๊ทธ๋ฆฌ๋ ์ ๋ต์, ํ์์ ์์ ๊ฐ์ฅ ๋ค์ ๋ฑ์ฅํ๋ ์ปจ์ ํธ๋ฅผ ๋ฐ๊ฟ์ค์ผํ๋ค.
- ์ด์ ์ ์๋ชป ๊ตฌํํ ๋ฐฉ๋ฒ์ ํ์์ ์์ ๋จ์ ์ฌ์ฉํ์ ์ค ๊ฐ์ฅ ์ ๊ฒ ๋ฑ์ฅํ๋ ๊ฒ์ ๊ธฐ์ค์ผ๋ก ํ๋ค.
/* ๋ฐฑ์ค ๊ทธ๋ฆฌ๋ - 1700 :: ๋ฉํฐํญ */
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException{
Scanner sc = new Scanner (System.in);
int n = sc.nextInt();
int k = sc.nextInt();
int[] list = new int[k];
for(int i = 0; i < k; i++) {
list[i] = sc.nextInt();
}
// ๋ฉํฐํญ ์ด๊ธฐ ์ค์
int[] multitap = new int[n];
int index = 0, mtIndex = 0;
while(mtIndex < n) {
// ์ด๋ฏธ ๋ฉํฐํญ์ ์๋ ๊ธฐ๊ธฐ์ธ์ง ์กฐ์ฌ
boolean isIn = false;
for(int j = 0; j < n; j++) {
if(multitap[j] == list[index]) {
isIn = true;
break;
}
}
if(!isIn) {
multitap[mtIndex++] = list[index];
}
index++;
}
int answer = 0;
for(int i = index; i < k; i++) {
// ์ด๋ฏธ ๋ฉํฐํญ์ ์๋ ๊ธฐ๊ธฐ์ธ์ง ์กฐ์ฌ
boolean isIn = false;
for(int j = 0; j < n; j++) {
if(multitap[j] == list[i]) {
isIn = true;
break;
}
}
int maxIndex = 0;
// ๋ฉํฐํญ์ ์๋ ๊ธฐ๊ธฐ๋ฉด ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ฉํฐํญ ๊ตํํด์ฃผ๊ธฐ
if(!isIn) {
int max = 0;
for(int j = 0; j < n; j++) {
// ๋ค์ ๊ตํ๊น์ง ํ
์ ๊ธธ์ด๊ฐ ๊ฐ์ฅ ๊ธด ๊ธฐ๊ธฐ ์ฐพ๊ธฐ
int len = 0;
for(int l = i; l < k; l++) {
if(multitap[j] == list[l]) {
len = l - i;
break;
}
}
// ๋ค์์ผ๋ก ๊ตํํ ๊ธฐ๊ธฐ๊ฐ ์์ผ๋ฉด, ๊ฐ์ฅ 1์์๋ก ๋ฐ๊ฟ์ค์ผํ๋ค.
if(len == 0)
len = Integer.MAX_VALUE;
// ๋ฐ๊ฟ์ค์ผํ ์ธ๋ฑ์ค๋ฅผ ๊ฐฑ์
if(max <= len) {
max = len;
maxIndex = j;
}
}
multitap[maxIndex] = list[i];
answer++;
}
}
System.out.println(answer);
sc.close();
}
}
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BAEKJOON] ๋ฐฑ์ค ํ๋ก์ด๋ ์์ 11404 :: ํ๋ก์ด๋ (0) | 2022.06.09 |
---|---|
[BAEKJOON] ๋ฐฑ์ค ๋ค์ต์คํธ๋ผ 1753 :: ์ต๋จ ๊ฒฝ๋ก (0) | 2022.06.09 |
[BAEKJOON] ๋ฐฑ์ค DFS 1012 :: ์ ๊ธฐ๋ ๋ฐฐ์ถ (0) | 2022.04.23 |
[BAEKJOON] ๋ฐฑ์ค DFS 2606 :: ๋ฐ์ด๋ฌ์ค (0) | 2022.04.23 |
[BAEKJOON] ๋ฐฑ์ค ๋์ ํฉ 16139 :: ์ธ๊ฐ-์ปดํจํฐ ์ํธ์์ฉ (0) | 2022.04.22 |
Comments