일단, 나도 처음에 틀렸던 문제다. 그리디 문제로 접근을 했었고, 문제를 풀었는데, '예제 입력 5' 와 같은 반례에 부딪혔다. 나의 로직은 이러했다. 문제에서 1번 사람부터 N번 사람까지 순서대로 잃는 체력리스트와 얻는 기쁨 리스트를 입력받는다. 세준이가 얻을 수 있는 최대 기쁨을 출력하는 것이므로, [hp(체력), joy(기쁨)]을 쌍으로 갖는 새로운 리스트를 만든 후에, joy(기쁨)을 기준으로 내림차순 정렬을 한다. 그러면, 큰 joy(기쁨)를 가지는 쌍이 앞에 오겠고 해당하는 hp(체력)을 초기 HP(100)에서 빼가면서 음수나 0이 아니면, 해당 joy(기쁨)을 그대로 더해주면서 for문을 순회하도록 로직을 짰다. 처음에 짠 로직은 아래와 같다. import sys input = sys.std..