본문 바로가기

Algorithm/SW Expert Academy

SWEA 2063 : 중간값 찾기(D1)[파이썬]

반응형

SW Expert Academy 2063: 중간값 찾기

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 


- 문제

 

  입력으로 N개의 숫자가 주어지면 이걸 정렬했을 때 중앙에 있는 값을 출력하는 문제다.

 


- 풀이

N = int(input())
# map 형식으로 저장(int형으로 모든 값을 저장하는데 input().split()을 통해 띄워쓰기 되어 있으면 분리) 후 리스트로 만듬
numbers = list(map(int, input().split()))
numbers.sort()                              # 오름차순으로 정렬
# 중간값은 총길이/2 +1인데, 배열은 0부터 시작이니 +1 안해도 됨
answer = numbers[N//2]
print(answer)

   정렬의 여러가지 방법(버블 정렬, 힙 정렬 등)을 이용해서 시간복잡도를 줄이는 것이 중요한 문제인 것 같은데, 시간이 널널한 경우에는 간단한 내장함수를 이용하는 것이 좋다고 생각한다!

  정렬 후에 중앙에 있는 값을 빼면 되는 간단한 문제였습니다. 

 

// : 나눌때 정답이 무조건 정수형으로 나오도록 나누는 방법

input().split() : 입력값을 띄워쓰기 형식으로 나누는 방법, split("/")처럼하면 띄워쓰기가 아니라 /를 기준으로 나눈다. 


- 기억할 것!

- sort()를 사용하지 않더라도 정렬을 손코딩 할 수 있도록 다양한 정렬 방법을 익혀둘 것!

 

반응형