99클럽 코테 스터디 16일차 TIL - 그리디 (백준2847 - 게임을 만든 동준이)
반응형
https://www.acmicpc.net/problem/2847
- 오늘의 학습 키워드 : 그리디
- 문제 설명
예제1번으로 설명하면
3 5 5 5 |
3 3 4 5 |
이런형태로 만들겠다 5-3 = 2 5-4 = 1 2+1 = 3 이 필요하다. |
1. 뒤에서부터 순차적으로 접근
2. 조건에 맞게 점수 감소 횟수 계산: 각 레벨을 순차적으로 비교하면서, 만약 현재 레벨의 점수가 다음 레벨의 점수보다 크다면, 두 점수의 차이만큼 감소
3. 점수 감소는 최소 : 각 단계에서 현재 레벨의 점수가 다음 레벨보다 하나 작아지도록 조정하는 것
( ex. 7 -> 5 이형태면 7--> (5-1)의 값으로 되어야한다. )
- 공부한 내용
import sys n = int(sys.stdin.readline().strip()) scores = [int(sys.stdin.readline().strip()) for _ in range(n)] count = 0 # 감소 횟수 카운터 for i in range(n - 2, -1, -1): # 만약 현재 레벨 점수가 다음 레벨보다 크거나 같다면 if scores[i] >= scores[i + 1]: # 감소해야 할 만큼 감소하고, 감소 횟수에 추가 count += scores[i] - scores[i + 1] + 1 scores[i] = scores[i + 1] - 1 # 다음 레벨보다 작아지도록 조정 # 결과 출력 print(count)
- 오늘의 회고
- 사실 첨에 문제가 잘이해가 안되었다고 할까..?
- 보자마자 엥???🤔?? 동준이가 실수로 쉬운 레벨이 어려운 레벨보다 점수를 많이 받는 경우가 있다. 이러길래.. 음.. 그렇군;;
이러면서 보고서 예제를 풀면서 이해했다. - 글고 첨에는 좀 어렵게 풀어서 deque를 굳이 넣어서 pop해서 풀었는데 생각해보니깐 굳이? 이런느낌이라서 for루프로 변경하였다.
- 오늘은 금방 끝났으니깐 진짜로 챌린지 풀어야지..
반응형
'Python > 😈 99클럽 코테 스터디 4기 TIL' 카테고리의 다른 글
99클럽 코테 스터디 19일차 TIL - 그리디 (백준1374 - 강의실) (1) | 2024.11.15 |
---|---|
99클럽 코테 스터디 17일차 TIL - 그리디 (백준31926 - 밤양갱) (1) | 2024.11.13 |
99클럽 코테 스터디 15일차 TIL - 그리디 (백준13417 - 카드 문자열) (2) | 2024.11.11 |
99클럽 코테 스터디 14일차 TIL - 그리디 (백준14916 - 거스름돈) (1) | 2024.11.10 |
99클럽 코테 스터디 13일차 TIL - 그리디,이분탐색 (백준27961 - 고양이는 많을수록 좋다) (0) | 2024.11.09 |