PS

[백준/Python] (G2) 중앙값 구하기 - 2696

MSHUN 2023. 11. 6.
반응형

Baekjoon Online Judge의 2696 중앙값 구하기 문제의 Python풀이입니다.

 

2696번: 중앙값 구하기

첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스의 첫째 줄에는 수열의 크기 M(1 ≤ M ≤ 9999, M은 홀수)이 주어지고, 그 다음 줄부터 이 수열의 원소가 차례대로 주

www.acmicpc.net

💻코드

t = int(input())
for _ in range(t):
    m = int(input())
    # 10개에 한줄씩 입력받기
    lst = []
    for _ in range((m-1)//10+1):
        lst.extend(map(int, input().split()))
    # 중앙값의 개수 출력하기
    print(m//2+1)

    for j in range(0, m, 2):
        # 홀수마다 리스트 잘라서 정렬 후 중앙값 구하기
        mid = sorted(lst[:j+1])[j//2]
        # 10개 출력마다 줄 바꿔주기
        if j % 20 == 0 and j != 0:
            print()
        print(mid, end=' ')
    print()

🧠풀이

그냥 대충 홀수마다 리스트 슬라이싱 후 중앙값을 구했는데 정답이 떴다.

🤔느낀 점

골드2라 어려울줄 알았는데 생각보다 쉽게 풀렸다...

오히려 10개에 한줄씩 입출력하는 부분이 조금 헷갈렸다.

Baekjoon Online Judge

반응형

댓글