본문 바로가기

카테고리 없음

[코딩테스트] 기본반A 17일차

  • 문제 이름: 등수 매기기(https://acmicpc.net/problem/2012)
  • 문제 유형: 그리디 알고리즘, 정렬
  • 난이도: S3
  • 언어: Python
  • 문제 탐색하기
  • 시간 복잡도
  • 코드 설계하기
  • 시도 회차 수정사항
  • 정답 코드
import sys

def solve():
    # 학생 수 N
    N = int(sys.stdin.readline().rstrip())

    # 예상 등수 입력
    expected_ranks = [int(sys.stdin.readline().rstrip()) for _ in range(N)]

    # 예상 등수를 오름차순으로 정렬
    expected_ranks.sort()

    # 불만도의 합을 계산
    total_displeasure = 0
    for i in range(N):
        total_displeasure += abs(expected_ranks[i] - (i + 1))

    # 결과 출력
    print(total_displeasure)

solve()