๐ท๐ผ๋ชจ์ฌ๋ด์ ๊ฐ๋ฐ์์ฒ๐ท๐ผ
[JAVA/์ฝ๋ฉํ ์คํธ] ๋งค์ถ์ก์ ์ข ๋ฅ ๋ณธ๋ฌธ
[JAVA/์ฝ๋ฉํ ์คํธ] ๋งค์ถ์ก์ ์ข ๋ฅ
์์ผ์ด 2021. 5. 20. 02:20์ค๋ช
ํ์์ ์๋น ๋ ์ ๊ณผ์ ์ ์ด์ํฉ๋๋ค. ํ์์๋น ๋ ํ์์๊ฒ N์ผ ๋์์ ๋งค์ถ๊ธฐ๋ก์ ์ฃผ๊ณ ์ฐ์๋ K์ผ ๋์์ ๋งค์ถ์ก์ ์ข ๋ฅ๋ฅผ
๊ฐ ๊ตฌ๊ฐ๋ณ๋ก ๊ตฌํ๋ผ๊ณ ํ์ต๋๋ค.
๋ง์ฝ N=7์ด๊ณ 7์ผ ๊ฐ์ ๋งค์ถ๊ธฐ๋ก์ด ์๋์ ๊ฐ๊ณ , ์ด๋ K=4์ด๋ฉด
20 12 20 10 23 17 10
๊ฐ ์ฐ์ 4์ผ๊ฐ์ ๊ตฌ๊ฐ์ ๋งค์ถ์ข ๋ฅ๋
์ฒซ ๋ฒ์งธ ๊ตฌ๊ฐ์ [20, 12, 20, 10]๋ ๋งค์ถ์ก์ ์ข ๋ฅ๊ฐ 20, 12, 10์ผ๋ก 3์ด๋ค.
๋ ๋ฒ์งธ ๊ตฌ๊ฐ์ [12, 20, 10, 23]๋ ๋งค์ถ์ก์ ์ข ๋ฅ๊ฐ 4์ด๋ค.
์ธ ๋ฒ์งธ ๊ตฌ๊ฐ์ [20, 10, 23, 17]๋ ๋งค์ถ์ก์ ์ข ๋ฅ๊ฐ 4์ด๋ค.
๋ค ๋ฒ์งธ ๊ตฌ๊ฐ์ [10, 23, 17, 10]๋ ๋งค์ถ์ก์ ์ข ๋ฅ๊ฐ 3์ด๋ค.
N์ผ๊ฐ์ ๋งค์ถ๊ธฐ๋ก๊ณผ ์ฐ์๊ตฌ๊ฐ์ ๊ธธ์ด K๊ฐ ์ฃผ์ด์ง๋ฉด ์ฒซ ๋ฒ์งธ ๊ตฌ๊ฐ๋ถํฐ ๊ฐ ๊ตฌ๊ฐ๋ณ
๋งค์ถ์ก์ ์ข ๋ฅ๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
์ ๋ ฅ
์ฒซ ์ค์ N(5<=N<=100,000)๊ณผ K(2<=K<=N)๊ฐ ์ฃผ์ด์ง๋๋ค.
๋ ๋ฒ์งธ ์ค์ N๊ฐ์ ์ซ์์ด์ด ์ฃผ์ด์ง๋๋ค. ๊ฐ ์ซ์๋ 500์ดํ์ ์์ด ์๋ ์ ์์ ๋๋ค.
์ถ๋ ฅ
์ฒซ ์ค์ ๊ฐ ๊ตฌ๊ฐ์ ๋งค์ถ์ก ์ข ๋ฅ๋ฅผ ์์๋๋ก ์ถ๋ ฅํฉ๋๋ค.
์์์ ๋ ฅ | ์ถ๋ ฅ |
7 4 20 12 20 10 23 17 10 |
3 4 4 3 |
1. ๋ด๊ฐ ํผ ๋ต
import java.util.*;
import java.io.*;
public class Main {
public void solution(int day, int k, int[] array) {
HashMap<Integer, Integer> count = new HashMap<>();
int lt = 0;
int rt = k-1;
for(int i=0; i<array.length; i++) {
// key์ ์ซ์์ ํ์๋ฅผ ๋ฃ๋๋ค
if(count.containsKey(array[i])) {
count.put(array[i], count.get(array[i]).intValue() + 1);
}else {
count.put(array[i], 1);
}
if(i==rt) {
System.out.print(count.size() + " ");
count.put(array[lt], count.get(array[lt]).intValue() - 1);
// ๋ง์ฝ ํ์๊ฐ ์๋ค๋ฉด ์์ ํค๋ฅผ ์ง์๋ฒ๋ฆฌ๊ธฐ
if(count.get(array[lt]).intValue() == 0) {
count.remove(array[lt]);
}
lt++;
rt++;
}
}
}
public static void main(String args[]) {
Main main = new Main();
Scanner in= new Scanner(System.in);
int day = in.nextInt();
int k = in.nextInt();
int[] array = new int[day];
for(int i=0; i<day; i++) {
array[i] = in.nextInt();
}
main.solution(day, k, array);
}
}
'๊ฐ๋ฐ > ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA/์ฝ๋ฉํ ์คํธ] ์ฌ๋ฐ๋ฅธ ๊ดํธ (0) | 2021.05.26 |
---|---|
[JAVA/์ฝ๋ฉํ ์คํธ] ๋ชจ๋ ์๋๊ทธ๋จ ์ฐพ๊ธฐ (0) | 2021.05.20 |
[JAVA/์ฝ๋ฉํ ์คํธ] ์๋๊ทธ๋จ(ํด์ฌ) (0) | 2021.05.17 |
[JAVA/์ฝ๋ฉํ ์คํธ] ํ๊ธ ํ์ฅ(ํด์ฌ) (0) | 2021.05.17 |
[JAVA/์ฝ๋ฉํ ์คํธ] ์ฐ์๋ ์์ฐ์์ ํฉ (0) | 2021.05.15 |