[코드트리] 바이러스 검사

임윤희·2024년 11월 21일

코드트리 바이러스 검사

🔍 알고리즘 분류

  • 그리디

💡 문제 풀이

  1. 식당 고객수 - 팀장이 검사 가능한 고객수
  2. 1번 연산 후 고객이 여전히 남아 있을 경우
    1) 팀원들끼리 분배: 남은 고객 // 팀원이 검사 가능한 고객 수
    2) 분배 후에도 남은 고객 수가 있다면 팀원 + 1
  3. 1번 연산 후 고객이 남아있지 않은 경우
    팀장만 카운트
  4. 각 식당 순회하며 위 과정 반복

📄 코드

  • Python
import sys
input = sys.stdin.readline

n = int(input().rstrip())
c = list(map(int, input().rstrip().split()))
p = list(map(int, input().rstrip().split()))

# 최종 답
ans = 0

for i in c:
    # 팀장이 검사하고 남은 고객 수
    i -= p[0]

    # 팀장 + 팀원
    if i > 0:
        num = i // p[1]
        remain = i % p[1]
        # 팀원들이 불균등히 고객 검사
        if remain:
            ans += num + 2
        # 팀원들이 모두 균등히 고객 검사
        else:
            ans += num + 1
    # 팀장만 필요        
    else:
        ans += 1

# 결과 출력
print(ans)

0개의 댓글