백준 2531. 회전 초밥

2023. 11. 13. 15:30·백준

https://www.acmicpc.net/problem/2531

 

2531번: 회전 초밥

첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 30,000, 2 ≤ d ≤ 3,000, 2 ≤

www.acmicpc.net

n, d, k, c = map(int, input().split()) # 접시수/초밥가짓수/연속해서먹는접시수/쿠폰번호
arr = []
ans = 0
for _ in range(n):
    num = int(input())
    arr.append(num)

for i in range(n):
        if i+k > n:  # 한바퀴 돌아?
            check = len(set(arr[i:n] + arr[:(i+k)%n] + [c]))
        else:
            check = len(set(arr[i:i+k]+[c]))
        if ans < check:
            ans = check
print(ans)

- set으로 묶어 len으로 종류의 갯수를 구하는 방법이 있다는 것에 깨달음을 얻었다.

- 처음에 짠 코드가 시간초과가 나서 다른 코드를 참고했다...

- 종류의 갯수를 셀 때 쿠폰인 c를 무조건 포함시켜야됨!

저작자표시 (새창열림)

'백준' 카테고리의 다른 글

백준 28353. 고양이 카페  (0) 2024.02.28
백준 11725. 트리의 부모 찾기  (0) 2024.02.28
백준 1135. 뉴스 전하기  (0) 2023.11.07
백준 1939. 중량제한  (0) 2023.11.03
백준 1520. 내리막 길  (0) 2023.11.01
'백준' 카테고리의 다른 글
  • 백준 28353. 고양이 카페
  • 백준 11725. 트리의 부모 찾기
  • 백준 1135. 뉴스 전하기
  • 백준 1939. 중량제한
버그잡는고양이발
버그잡는고양이발
주니어 개발자입니다!
  • 버그잡는고양이발
    지극히평범한개발블로그
    버그잡는고양이발
  • 전체
    오늘
    어제
    • 분류 전체보기 (382)
      • React (16)
      • Next.js (5)
      • Javascript (5)
      • Typescript (4)
      • Node.js (2)
      • Cs (16)
      • 트러블 슈팅 (5)
      • Html (1)
      • Css (3)
      • Django (0)
      • vue (0)
      • Java (2)
      • Python (0)
      • 독서 (1)
      • 기타 (3)
      • 백준 (192)
      • swea (31)
      • 프로그래머스 (30)
      • 이코테 (4)
      • 99클럽 코테 스터디 (30)
      • ssafy (31)
      • IT기사 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 인기 글

  • 태그

    개발자취업
    Til
    코딩테스트준비
    항해99
    99클럽
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
버그잡는고양이발
백준 2531. 회전 초밥
상단으로

티스토리툴바