본문 바로가기
알고리즘/CodeUp PS

[CodeUp][Python 기초 100제] 6084번 : [기초-종합] 소리 파일 저장용량 계산하기

by 빛밤하늘 2021. 8. 5.
반응형

밑의 링크는 CodeUp에서의 문제 링크입니다.

 

[기초-종합] 소리 파일 저장용량 계산하기(py)

python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용

codeup.kr

 

 

 

 

 

 

 

 

주의해야 할 점

필요한 저장 공간을 출력할 때, 소수점 첫째 자리까지의 정확도로 출력해야 한다는 것을 잊으면 안됩니다.

 

출력 형식도 필요한 저장 공간값과 MB 사이에 공백이 있는 것을 잘 봐야합니다.

 

 

 

생각한 풀이 과정

  1. 1초 동안 마이크로 소리강약을 체크하는 횟수 h, 한 번 체크한 값을 저장할 때 사용하는 비트수 b, 좌우 등 소리를 저장할 트랙 개수인 채널 개수 c, 녹음할 시간(초) s를 공백을 두고 입력합니다. 각각 정수형으로 변환하고 변수 h, b, c, s에 넣어줍니다.
  2. 공식에 맞게 필요한 저장 용량을 계산합니다.
  3. 계산한 필요한 저장 용량을 소수점 첫째 자리까지의 정확도로 표현하고 변수 need_capacity에 넣어줍니다.
  4. 출력 형식에 맞게 필요한 저장 용량을 출력합니다.



 

 

 

 

 

 

제출한 파이썬 코드

# readline을 사용하기 위해 import합니다.
from sys import stdin


# 1초 동안 마이크로 소리강약을 체크하는 횟수 h,
# 한 번 체크한 값을 저장할 때 사용하는 비트 수 b,
# 좌우 등 소리를 저장할 트랙 개수인 채널 개수 c,
# 녹음할 시간(초) s를 공백을 두고 입력합니다.
# 각각 정수형으로 변환하고 변수에 넣어줍니다.
h, b, c, s = map(int, stdin.readline().split(' '))

# 필요한 저장 용량을 계산하고 소수점 첫째 자리까지의 정확도로 표현합니다.
# h, b, c, s를 모두 곱하면 비트 단위이므로
# 바이트(byte) 단위로 변환하기 위해 8로 나누고
# 킬로바이트(KB) 단위로 변환하기 위해 1024로 나누고
# 마지막으로 메가바이트(MB) 단위로 변환하기 위해 1024로 한 번 더 나눕니다.
need_capacity = format(h * b * c * s / 8 / 1024 / 1024, '.1f')

# 출력 형식에 맞게 출력합니다.
print(f'{need_capacity} MB')

 

 

 

제출 결과

결과

 

 

 

 

 

 

 

 

느낀 점

솔직히 h, b, c, s의 값이 주어진다고 하더라도 이걸로 필요한 저장 용량을 어떻게 계산하는지 공식은 몰랐습니다.

친절하게 설명해놓은 문제 설명에서 잘 읽어보고 계산해봤습니다.

PCM 방법이라는 것도 처음 알게 되었습니다.

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글