[백준] 2548번 대표 자연수

거북이·2023년 1월 22일
0

백준[실버3]

목록 보기
50/92
post-thumbnail

💡문제접근

  • 정렬 후 중앙값을 찾으면 되는 문제다. 이 때, 원소의 개수가 짝수일 때와 홀수일 때 중앙값을 찾는 과정이 다른 것에 초점을 맞추고 접근했다.
  • [[백준] 18310번 안테나]와 동일한 유형이다.

💡코드(메모리 : 33000KB, 시간 : 56ms)

import sys
input = sys.stdin.readline

N = int(input())
li = list(map(int, input().split()))

li.sort()
if len(li) % 2 != 0:
    print(li[len(li) // 2])
else:
    mid_1 = (len(li) // 2) - 1
    mid_2 = len(li) // 2
    sum_mid_1 = 0
    sum_mid_2 = 0
    for i in li:
        sum_mid_1 += abs(i - li[mid_1])
    for i in li:
        sum_mid_2 += abs(i - li[mid_2])
    if sum_mid_1 == sum_mid_2:
        print(li[mid_1])
    elif sum_mid_1 > sum_mid_2:
        print(li[mid_2])
    else:
        print(li[mid_1])

💡소요시간 : 2m

0개의 댓글