티스토리 뷰
📚 문제
입력
- 첫째 줄에 중덕 고등학교에 있는 반의 수 K (1 ≤ K ≤ 100)가 주어진다.
- 다음 K개 줄에는 각 반의 학생수 N (2 ≤ N ≤ 50)과 각 학생의 수학 성적이 주어진다.
- 시험 성적은 0보다 크거나 같고, 100보다 작거나 같은 정수이고, 공백으로 나누어져 있다.
출력
- 각 반에 대한 출력은 다음과 같이 두 줄로 이루어져 있다.
- 첫째 줄에는 "Class X"를 출력한다. X는 반의 번호이며 입력으로 주어진 순서대로 1부터 증가한다.
- 둘째 줄에는 가장 높은 점수, 낮은 점수, 성적을 내림차순으로 정렬했을 때 가장 큰 인접한 점수 차이를 예제 출력과 같은 형식으로 출력한다.
입력 예시
2
5 30 25 76 23 78
6 25 50 70 99 70 90
출력 예시
Class 1
Max 78, Min 23, Largest gap 46
Class 2
Max 99, Min 25, Largest gap 25
🧑🏻💻 풀이 과정
- 입력받은 점수를 내림차순 정렬하자.
- 내장 함수
max
,min
을 이용해서 점수에서 가장 큰 값과 가장 작은 값을 구하자. - 반복하면서 큰 점수와 작은 점수의 차이가 큰 값을
gap_val
에 업데이트하자. 반복을 마치면 차이가 가장 큰 값이gap_val
에 저장되어있다.
k = int(input())
class_num = 1
for _ in range(k):
arr = list(map(int, input().split()))
cnt = arr[0]
score = sorted(arr[1::], reverse=True)
max_val = max(score) # 큰 값
min_val = min(score) # 작은 값
gap_val = score[0] - score[1] # gap 초기화
for i in range(2, len(score)):
gap_val = max(gap_val, score[i - 1] - score[i])
print('Class', class_num)
print('Max', max_val, end=", ")
print('Min', min_val, end=", ")
print('Largest gap', gap_val)
class_num += 1
'알고리즘' 카테고리의 다른 글
[algorithm] 백준 23322 - 초콜릿 뺏어 먹기 (파이썬) (0) | 2022.07.13 |
---|---|
[algorithm] 백준 2822 - 점수 계산 (파이썬) (0) | 2022.07.12 |
[algorithm] 백준 14912 - 숫자 빈도수 (파이썬) (0) | 2022.07.08 |
[algorithm] 프로그래머스 - 더 맵게 (파이썬) (0) | 2022.07.06 |
[algorithm] 프로그래머스 - 숫자 문자열과 영단어 (파이썬) (0) | 2022.07.05 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- spring boot
- 릿코드
- Algorithm
- 김영한
- 노마드코더
- leetcode
- 백준
- webflux
- Spring
- 파이썬
- mysql 8.0
- 스프링 부트
- 그리디
- 인프런
- 데이터베이스
- 스프링
- 구현
- 문자열
- kotlin
- 알고리즘
- MySQL
- 노마드
- Real MySQL
- 북클럽
- 자료구조
- 리팩토링
- 코틀린
- 코테
- 정렬
- 스프링부트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함