백준 2531 회전초밥

gmlwlswldbs·2022년 1월 14일
0

코딩테스트

목록 보기
109/130
n, d, k, c = map(int, input().split())
chobab = []
for _ in range(n):
    chobab.append(int(input()))

ans = 0
for i in range(n-k+1):
    tmp = chobab[i:i+k]
    tmp += [c]
    ans = max(ans, len(set(tmp)))
    
for i in range(n-k+1, n):
    tmp = chobab[i:] + chobab[:(i+k)%n]
    tmp += [c]
    ans = max(ans, len(set(tmp)))
print(ans)

그냥 했는데.. 이런걸 슬라이딩윈도우라는 멋진 이름으로 부른다네요...

0개의 댓글