본문 바로가기
Algorithm/Programmers

[그리디] 무지의 먹방 라이브 (파이썬) - 아직 미완성...

by 그랴 2022. 7. 16.

회전판에 먹어야 할 N개의 음식이 있다.

각 음식에는 1부터 N까지 번호가 붙어있으며, 각 음식을 섭취하는 데 일정 시간이 소요된다.

다음과 같은 방법으로 음식을 섭취한다.

  1. 1번 음식부터 먹기 시작하며, 회전판은 번호가 증가하는 순서대로 음식을 무지 앞으로 가져다 놓는다.
  2. 마지막 번호의 음식을 섭취한 후에는 회전판에 의해 다시 1번 음식이 무지 앞으로 온다.
  3. 무지는 음식 하나를 1초 동안 섭취한 후 남은 음식은 그대로 두고, 다음 음식을 섭취한다.

무지가 먹방을 시작한 지 K초 후에 네트워크 장애로 인해 방송이 잠시 중단되었다.

네트워크 정상화 후 다시 방송을 이어나갈 때, 몇 번 음식부터 섭취해야 할까?


예시 케이스는 잘 돌아가는데 채점하면 다 틀린다.... 🤮

 

일단 내가 생각한 아이디어는,

0) 인덱스 다 돌아가면 다시 0으로 초기화 시켜주기

 

1-1) 남은 음식이 있다면 -> 음식 숫자 1 차감 & 진행 시간 1 추가

1-2) 남은 음식이 없다면 -> 진행시간 1 추가

 

2) 진행 시간이 네트워크 장애 발생 시간이 되면 -> 그 때 음식 번호 리턴

 

#input : [3,1,2] and 5
#output : 1

food_times = list(map(int, input().split()))
k = int(input())

answer = 0
l = len(food_times)
t = 1
print(food_times)


i = 0
while True:
  if food_times[i] != 0:
    food_times[i] = food_times[i] - 1
    t += 1
    print(i)
    print(food_times)
  elif food_times[i] == 0:
    t += 1
    print(i)
    print(food_times)
    
  if t == k:
    answer = i+1
    break;
  i += 1
  if i == l:
    i = 0

if answer == l:
  answer = 1

print(answer)

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr