전시회장에는 부스가 여러 개 있고, 부스마다 나눠 주는 굿즈가 하나씩 정해져 있습니다.
booths[i]는 i번 부스에서 받을 수 있는 굿즈의 종류 코드이며, 같은 코드는 같은 굿즈를 뜻합니다.
관람 시간이 빠듯해 부스는 정확히 k곳만 방문할 수 있고, 같은 부스를 두 번 방문할 수는 없습니다.
방문한 부스에서 굿즈를 하나씩 받을 때, 모을 수 있는 서로 다른 굿즈 종류의 최대 가짓수를 반환하세요.
function solution(booths: number[], k: number): number| booths | k | 반환 | 설명 |
|---|---|---|---|
[7,7,4,9,4,9,9] |
3 |
3 |
7·4·9 부스를 하나씩 방문 |
[5,5,5,5] |
2 |
1 |
굿즈가 한 종류뿐 |
[2,8,6,1,3] |
2 |
2 |
두 곳만 가므로 최대 2종 |
[11,11,4,4,6,6,6] |
5 |
3 |
다섯 곳을 가도 종류는 3종이 한계 |
booths.length ≤ 100,000k ≤ booths.lengthbooths[i] ≤ 1,000,000booths.length가 짝수라는 보장은 없습니다시간 복잡도 목표: O(N)
▶ 실행은 기록 없이 채점만, 제출은 결과가 진행률·오답노트에 기록됩니다.