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

[CodeUp][Python 기초 100제] 6085번 : [기초-종합] 그림 파일 저장용량 계산하기

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

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

 

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

본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다.  ------ 이미지가 컴퓨터에 저장될 때에도 디지털 데이터화 되어 저장된다. 가장 기본

codeup.kr

 

 

 

 

 

 

 

 

주의해야 할 점

바로 앞 문제인 6084번 문제와 거의 같은 문제입니다.

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

 

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

 

 

 

생각한 풀이 과정

  1. 이미지의 가로 해상도 w, 세로 해상도 h, 한 픽셀을 저장하기 위한 비트 b를 공백을 두고 입력합니다. 각각 정수형으로 변환하고 변수 w, h, b에 넣어줍니다.
  2. 공식에 맞게 필요한 저장 용량을 계산합니다.
  3. 계산한 필요한 저장 용량을 소수점 셋째 자리에서 반올림하여 소수점 둘째 자리까지의 정확도로 표현하고 변수 need_capacity에 넣어줍니다.
  4. 출력 형식에 맞게 필요한 저장 용량을 출력합니다.

 

 

 

 

 

 

 

제출한 파이썬 코드

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


# 가로 해상도 w, 세로 해상도 h,
# 한 픽셀을 저장하기 위한 비트 b를 공백을 두고 입력합니다.
# 각각 정수형으로 변환합니다.
w, h, b = map(int, stdin.readline().split(' '))

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

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

 

 

 

제출 결과

결과

 

 

 

 

 

 

 

느낀 점

바로 앞 문제 6084번 문제에서처럼 솔직히 w, h, b의 값이 주어진다고 하더라도

이걸로 필요한 저장 용량을 어떻게 계산하는지 공식은 몰랐습니다.

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

 

비트맵은 들어봤는데 래스터 방식이라는 말은 처음 들어보네요.

공부가 많이 모자랍니다. ㅎㅎ

 

 

 

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

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

반응형

댓글