백준 온라인 저지 / 15921번 수찬은 마린보이야!!
https://www.acmicpc.net/problem/15921
- 사용언어 : C (C99)
- 알고리즘 : 수학, 사칙연산
C 코드
1. 문제 정리
1개의 정수로 테스트 케이스를 받고, 테스트 케이스만큼 입력 받아오는 문제이다.
(연습 기록들의 평균값) / (연습 기록들 중 하나를 균일한 확률로 뽑을 때의 기댓값) 이라는 말을 제대로 이해 하지 못한다면 해결 할 수 없는 문제이다.
기댓값 E(X)의 정의는 ‘각 사건이 벌어졌을 때의 이득과 그 사건이 벌어질 확률을 곱한 것을 전체 사건에 대해 합한 값’이다. 다시 말해, 어떤 수 x가 수열에 등장할 확률 P(x) = (x의 등장 횟수) / (전체 수열의 길이)이고, 이때 기댓값은 수열에 등장하는 모든 x에 대해 (x * P(x))를 구해 모두 더한 값이 된다.
즉 0을 제외한 어떠한 값이 들어오던 간에 1이 나온다는 뜻이다. 그래서 간단히 삼항 연산자를 통해 문제를 해결 해 주었다.
2. 완성 코드
#include <stdio.h>
int main(void) {
int n;
scanf("%d", &n);
printf("%s", n == 0 ? "divide by zero" : "1.00");
}
'백준 알고리즘 > Lang-C | C++' 카테고리의 다른 글
[백준/C] 23037번 5의 수난 (0) | 2021.11.26 |
---|---|
[백준/C] 2858번 기숙사 바닥 (0) | 2021.11.21 |
[백준/C] 15700번 타일 채우기 4 (0) | 2021.09.19 |
[백준/C] 16486번 운동장 한 바퀴 (0) | 2021.09.18 |
[백준/C] 15080번 Every Second Counts (0) | 2021.09.18 |