안녕하세요 저는 박민성입니다.
오늘은 백준 2587번 대푯값 2를 풀어 보겠습니다.

문제를 보면
입력은 첫째 줄부터 100 보다 작은 10의 배수의 수가 한 줄에 하나씩 자연수가 주어집니다.
출력은 첫째 줄에는 평균을 출력하고, 둘째 줄에는 중앙값을 출력합니다.
평균을 구하는 방법은 모든 수를 더한 다음 더한 수의 횟수만큼 나누어주면 평균값이 나옵니다.
(예: 10 20 30 40 50이라는 수가 주어지면 10+20+30+40+50 = 150이고 다섯 번 더해주었으니 150 / 5을 한다면 30이 평균값입니다.)
중앙값을 구하는 방법은 주어진 수 중에 수의 크기를 재었을 때 가장 중앙에 있는 값이 중앙값입니다.
(예: 20 40 50 10 30이라는 수가 주어진다면 크기대로 정렬했을 때 10 20 30 40 50이 되고 그중에 중앙값은 30이 됩니다.)
저는 문제를 봤을 때

Array에 Sort라는 메서드를 사용하기로 했습니다.
Sort는 안에 배열 int []를 넣으면 배열에 있는 수가 오름차순으로 정렬이 됩니다.
그래서

변수형 int []로 arr라고 변수 선언을 해줍니다. 입력은 딱 5개까지이니 크기를 5로 정해줍니다.
그리고 평균값을 구하기 위해서 수를 다 더해줄 num이라는 int형 변수도 선언해 줍니다.

for 문을 사용하여 5번 반복해 줍니다 num에는 입력받은 값을 게속 해주고 arr[] i번째에 입력 받은 수를 넣어줍니다.

for문이 끝난 다음에 Sort메서드를 사용하여 arr를 오름차순 해줍니다.

마지막으로 num을 5로 나누어주어 평균값을 출력하고 arr에 3번째 값인 중앙값을 출력해 주면 끝입니다.
하지만 이 코드는 틀렸습니다.
왜냐하면 인덱스 번호는 0부터 시작이기 때문에 3을 넣으면 4번째 값이 나옵니다.
그렇기 때문에 2를 넣어야 3번째 값이 나와서 중앙값이 제대로 나옵니다.

이것이 전체 코드입니다.
이렇게 백준에 제출하였더니

정답이었습니다.
'알고리즘 C#' 카테고리의 다른 글
| 백준 2523번 별 찍기 - 13 C#으로 문제 풀어보기 (1) | 2025.07.30 |
|---|---|
| 백준 5597번 과제 안 내신 분..? C#으로 문제 풀어보기 (0) | 2025.07.29 |
| 백준 2675번 문자열 반복 C#으로 문제 풀어보기 (1) | 2025.07.26 |
| 백준 1271번 엄청난 부자2 C#으로 문제 풀어보기 (0) | 2025.07.25 |
| 백준 10822번 더하기 C#으로 문제 풀어보기 (0) | 2025.07.24 |