[이.취.코] [프로그래머스] Chap 11. 그리디 - Q6. 무지의 먹방 라이브

0

0

1. 무지의 먹방 라이브

  • 난이도
    • 하 (??하???)
  • 풀이 시간
    • 30분
  • 시간 제한
    • 1초
  • 메모리 제한
    • 128 MB
  • 출처

코딩테스트 연습 - 무지의 먹방 라이브 | 프로그래머스 (programmers.co.kr)

A. 문제

위 프로그래머스 사이트에 접속하여 문제를 확인해주세요.

B. 내 답안

a. 1차 시도 (실패)

못풀었다... 나중에 복습할때 다시 풀어보고 올려야지..

b. 2차 시도 (성공 - 21.09.14)

def solution(food_times, k):  
    foods = [[food_times[i], i + 1] for i in range(len(food_times))]  
  
    foods.sort()  
  
    food_len = len(food_times)  
    pre_food_time = 0  
  
 for i, food in enumerate(foods):  
        now_food_time = food[0]  
        diff = now_food_time - pre_food_time  
  
        if diff > 0:  
            spend = diff * food_len  
            if spend <= k:  
                k -= spend  
                pre_food_time = now_food_time  
            elif spend > k:  
                k %= food_len  
                answer = sorted(foods[i:], key=lambda x: x[1])  
                # print(spend, k)  
 return answer[k][1]  
  
        food_len -= 1  
  
 return -1
 
c. 회고

내 풀이

  • 시간이 지날때마다 1번 음식부터 1초씩 사라지므로 단순하게 food_times로 for문을 돌렸다. 그랬더니, 12점 받았다.

반성

  • 정렬을 생각했으나, 다시 원복시키는 방법이 떠오르지 않아서 하지 못했다.

결론

  • 그림을 그려보자.. 그림을 그려보면 문제를 풀다가 잊혀지는 조건이나 패턴들이 보인다.

C. 문제 해설

이해한 내용을 바탕으로 작성했습니다.

  • 문제 해석

  • 알고리즘 로직

a. 책 답안

python-for-coding-test/2.py at master · ndb796/python-for-coding-test (github.com) [1]

b. 유튜브 참고

카카오 코딩 테스트 - 무지의 먹방 라이브 (Python 풀이) - YouTube [2]

참고문헌

[1] 나동빈, "이것이 취업을 위한 코딩 테스트다 with 파이썬", 초판, 2쇄, 한빛미디어, 2020년

[2] ezsw. (1069) 카카오 코딩 테스트 - 무지의 먹방 라이브 (Python 풀이) - YouTube. Youtube. (accessed Sep 9, 2021)

이 글이 도움이 되었나요?

신고하기
0분 전
작성된 댓글이 없습니다. 첫 댓글을 달아보세요!
    댓글을 작성하려면 로그인이 필요합니다.