[ 6084 ] 코드업 6084 : 소리 파일 저장용량 계산하기
< 코드 >
h, b, c, s = map(int, input().split())
print ('%.1f'%(h*b*c*s/8/1024/1024), 'MB')
< 문제 >
소리가 컴퓨터에 저장될 때에는 디지털 데이터화 되어 저장된다. |
< 접근 방법 >
- 문제가 너무 길어서, 문제 이해 방법을 설명하고자 한다. 우선 문제를 풀며 필요한 단서들을 BOLD 체로 표시해보았다.
=> 강약 체크 = h, 저장 비트 수 = b, 트랙 개수 = c. 녹음 시간 = s
=> 저장용량은 강약 체크한 수, 채널, 비트 사용 개수, 녹음시간에 비례한다. ( 형광펜 확인 )
- 문제를 풀기 위해 bit를 MB(메가바이트)로 바꾸어야 한다는 것을 알 수 있다. (Bit => MB)
< 문제 풀이 >
- 저장용량 = h * b * c * s 을 구한 후, Bit 단위를 MB(메가 바이트)로 변환한다.
- 우선, h * b * c * s 를 x 라고 생각해보면 쉽다.
=> x 는 Bit 로 표현된 수이다. 이를 Byte 로 나타내기 위해 8로 나누어준다. ( 8 bit = 1Byte 이므로 )
=> x/8 은 Byte로 표현된 수 이다. 이를 KB(킬로 바이트)로 나타내주기 위해 1024로 나누어준다. ( 1024Byte = 1KB 이므로 )
= KB로 나타낸 x를 MB로 나타내기 위해 1024로 다시 나누어준다. ( 1024 KB = 1MB 이므로 )
✏️ 요약하면 다음과 같다.
Bit 단위 저장용량 = h * b * c * s
Byte 단위 저장용량 = h * b * c * s / 8
KB 단위 저장용량 = h * b * c * s / 8 / 1024
MB 단위 저장용량 = h * b * c * s / 8 / 1024 / 1024