[백준]정렬

쟈니·2023년 1월 9일
0
post-thumbnail

영화 평가

N, L, H = map(int, input().split())
score = sorted(list(map(int, input().split())))
final = sum(score[L:(N - H)]) / (N - L - H)
print(final)
  • 접근방법 :
  1. 개수, 최소점수 개수, 최대점수 개수 입력
  2. 입력받은 리스트 정렬
  3. 최소점수 개수
    점수 집계
N = int(input())
for i in range(N):
    score = sorted(list(map(int, input().split())))
    score.remove(max(score))
    score.remove(min(score))
    if max(score) - min(score) >= 4:
        print('KIN')
    else :
        # print(max(score))
        # print(min(score))
        final = sum(score[0:])
        print(final)
  • 접근방법 :
  1. 선택정렬은 오름차순 정렬이 되므로 첫번째 인덱스가 가장 낮은 점수, 마지막 인덱스가 가장 큰 점수가 된다.(sorted)
  2. 첫번째 인덱스와 마지막 인덱스를 제외한 중간 점수들의 총합을 구한다.(sum)
  3. 만약 두번째로 작은 점수(index=1)와 두번째로 큰 점수(index=3)의 차가 4보다 크면 KIN 출력
  • 후기 : 중간값들의 차가 4일때 KIN 출력 구간과 최대값과 최소값을 제외하는 부분을 remove를 사용하는 방법을 알게 되어 변경하였다.

회의실

N = int(input())
array = []
for i in range(N) :
    classtime = input().split()
    array.append((int(classtime[0]),int(classtime[1])))

def start(classtime):
    return classtime[0]
def end(classtime):
    return classtime[1]

startresult = sorted(array, key=start)

endresult = sorted(startresult, key=end)


print(startresult)
print(endresult)
# last = 0
# cnt = 0
# for i, j in endresult:
#     if i >= last:
#         cnt += i
#         last = j
# print(cnt)
  • 접근방법 :
  1. 시작 시간 기준 정렬
  2. 시작 시간 기준 정렬 리스트를 종료시간 기준으로 정렬
  3. 그 다음을 아직 못품
profile
시작은 미미하나 끝은 쥬쥬하다.

0개의 댓글