Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Class1
- 티스토리사진
- 롤 현질금액보기
- 도선생님 신경론
- 티스토리 코드블록
- 티스토리 전체글수표시
- 쿠르츠 게작트
- 티스토리전체글수
- 롤 현질얼마나 했는지보기
- 롤에 돈얼마나썼지
- 명언
- 비주얼스튜디오 코드 폰트
- 언리얼
- 자바메모
- 게임 네트워킹
- 스팀에 돈 얼마나 썼지
- 신경론
- 어도비플래시삭제
- 앤드류 테이트
- 도파 신경론
- 어도비플래시서비스종료
- 스팀 사용 금액
- 가운뎃점 입력
- 백준
- c++
- 자바스크립트 defer
- 티스토리사진한줄에 여러개
- 한글 가운뎃점
- 비주얼스튜디오 코드 글꼴
- 스팀 돈얼마나 썼는지보기
Archives
- Today
- Total
Small Step
[C++] 백준 1546번 - 평균 본문
https://www.acmicpc.net/problem/1546
문제 설명
주어진 과목 개수 N이 주어지고 조건에 따라 새로운 평균 점수를 출력하는 문제이다.
주어진 점수 중에서 가장 높은 점수를 M이라 하고
점수 / M * 100
이렇게 새로운 점수를 구해 이 점수로 평균을 구하는 문제이다.
#include <iostream>
using namespace std;
int main() {
int n;
int max = 0;
float score[1000] = { 0, };
float avr = 0;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> score[i];
if (score[i] > max) max = score[i];
}
for (int j = 0; j < n; j++) {
score[j] = score[j] / max * 100;
avr += score[j];
}
cout << avr / n;
}
입력받기
이 문제는 배열을 통해 풀어야 할 것 같아 과목 개수가 1000개보다 작다고 해서
배열로 풀만하다 생각해 실수형 배열을 만들었다.
계산을 하다 보면 실수로 값이 많이 나와 점수와 평균은 실수형 변수로 만들었다.
구현은 간단하게 과목수만큼 반복문을 돌리고 가장 높은 점수를 구했다.
새로운 평균 구하기
값을 받았으면 새로운 점수를 구하고 이에 맞는 평균을 구해준다.
사실문제가 무슨 말인지 몰라서 계산기로 직접 예제 입력을 구해봤다.
개인적으로 문제 이해에 시간을 오래 썼다.
중간에 맞게 짰는데 오류가 나길래 뭔가 했더니 점수를 정수형 변수로 만들어서 그랬다.
'알고리즘 > 백준' 카테고리의 다른 글
[C++] 백준 2739번 - 구구단 (0) | 2022.07.25 |
---|---|
[C++] 백준 10950~10952번 - A + B - 3~5 (0) | 2022.07.25 |
[C++] 백준 10871번 - X보다 작은 수 (0) | 2022.07.25 |
[C++] 백준 2475번 - 검증수 (0) | 2022.07.25 |
[C++] 백준 10809번 - 알파벳 찾기 (0) | 2022.07.25 |
Comments