[백준] 2531 - 회전 초밥 / Python / 실버 1

KimYoungWoong·2022년 9월 17일
0

BOJ

목록 보기
14/31
post-thumbnail

🚩문제 주소


📄풀이


투 포인터를 활용해 풀었습니다.

set을 활용해 중복을 제거해주고 쿠폰번호가 없다면 추가해준 후, set의 길이와 정답변수를 비교해 최댓값으로 저장해주고 포인터를 1 씩 늘립니다.



👨‍💻코드


import sys
input = sys.stdin.readline

n, d, k, c = map(int, input().split())
sushi = []
for _ in range(n):
  sushi.append(int(input()))

left, right = 0, k
answer = 0
while left < n:
  s = set()
  for i in range(left, right):
    s.add(sushi[i%n])
  if c not in s:
    s.add(c)

  answer = max(answer, len(s))
  left += 1
  right += 1

print(answer)

profile
블로그 이전했습니다!! https://highero.tistory.com

0개의 댓글