본문 바로가기
프로그래밍/코드업 파이썬 기초 100제

코드업 파이썬 기초 100제 6085번(100제 85번째 문제)

by 리드민 2023. 2. 6.
반응형

[1] 코드업 파이썬 기초 100제
100제 85번째 문제

[2] 문제
이미지의 가로 해상도 w, 세로 해상도 h, 한 픽셀을 저장하기 위한 비트 b 가 주어질 때,
압축하지 않고 저장하기 위해 필요한 저장 용량을 계산하는 프로그램을 작성해 보자.
예를 들어
일반적인 1024 * 768 사이즈(해상도)의 각점에 대해
24비트(rgb 각각 8비트씩 3개)로 저장하려면
1024 * 768 * 24 bit의 저장공간이 필요한데,
1024*768*24/8/1024/1024 로 계산하면 약 2.25 MB 정도가 필요하다.

1. 입력
w, h, b 가 공백을 두고 입력된다.
단, w, h는 모두 정수이고 1~1024 이다. b는 40이하의 4의 배수이다.

2. 출력
필요한 저장 공간을 MB 단위로 바꾸어 출력한다.
단, 소수점 셋째 자리에서 반올림하여 둘째 자리까지 출력한다.

3. 입력 예시
1024 768 24

4. 출력 예시
2.25 MB

https://codeup.kr/problem.php?id=6085 

 

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

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

codeup.kr

 

[3] 정답
1. 해설 미포함

w, h, b = input().split()
w = int(w)
h = int(h)
b = int(b)
e = (w*h*b)/(8*1024*1024)
print(format(e, ".2f"), end='')
print(' MB')


2. 해설 포함

w, h, b = input().split()
# 값을 3개 입력받아 변수 w, h, b에 각각 저장한다.
w = int(w)
# 변수 w에 저장된 값을 정수형으로 변환하고 변수 w에 다시 저장한다.
h = int(h)
b = int(b)
e = (w*h*b)/(8*1024*1024)
# (w*h*b)/(8*1024*1024)를 연산한 값을 변수 e에 저장한다.
print(format(e, ".2f"), end='')
# 변수 e에 저장된 값에서 소수점 3째 자리에서 반올림 한 후 출력한다.
print(' MB')
# 문자열 ' MB'를 출력한다.

input 함수는 값을 입력받는 함수이다.

int 함수는 변수에 저장된 값을 int(정수형)으로 변환한 후 출력하는 함수이다.

format 함수를 이용하면 원하는 소수점 자리까지 출력할 수 있다.

print 함수는 값을 출력하는 함수이다.

반응형