반응형
문제 출처: www.acmicpc.net/problem/2548
2548번: 대표 자연수
첫째 줄에는 자연수의 개수 N이 입력된다. N은 1 이상 20,000 이하이다. 둘째 줄에는 N개의 자연수가 빈칸을 사이에 두고 입력되며, 이 수들은 모두 1 이상 10,000 이하이다.
www.acmicpc.net
1. 문제 접근 방식
- 숫자를 입력 받은 후 오름차순으로 정렬해보았다. 그렇게 정렬해두고 생각해본 결과 중간에 있는 값이 대표 자연수가 되는 것을 알았다. 이때 리스트의 길이가 짝수일 경우랑 홀수일 경우는 나누어 계산해야한다.
2. 내가 푼 코드
import sys
N = int(sys.stdin.readline())
num = sorted(list(map(int, sys.stdin.readline().split())))
# 짝수일 경우 가운데 값 중 작은 값을 출력
if (N % 2) == 0:
print(num[N // 2 - 1])
# 홀수일 경우 가운데 값 출력
else:
print(num[N // 2])
3. 결과 및 느낀점
- 성공! 가끔은 단순하게 생각했을 때 성공하는 경우가 있는 법이다.
반응형
'개인 공부 > Algorithm' 카테고리의 다른 글
[Baekjoon/백준] 1057번 Python (0) | 2021.04.15 |
---|---|
[Baekjoon/백준] 1251번 Python (0) | 2021.04.14 |
[Baekjoon/백준] 1500번 Python (0) | 2021.04.11 |
[Baekjoon/백준] 11047번 Python (0) | 2021.04.10 |
[개인공부] 알고리즘 공부 #6 (0) | 2021.04.09 |