๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm/CodeUp ๊ธฐ์ดˆ 100์ œ

[์ฝ”๋“œ์—… ๊ธฐ์ดˆ 100์ œ] - 1086๋ฒˆ

by ์ฝ”๋”ฉํ•˜๋Š” ๋ถ•์–ด 2021. 3. 7.
๋ฐ˜์‘ํ˜•

[๊ธฐ์ดˆ-์ข…ํ•ฉ] ๊ทธ๋ฆผ ํŒŒ์ผ ์ €์žฅ์šฉ๋Ÿ‰ ๊ณ„์‚ฐํ•˜๊ธฐ(์„ค๋ช…)

 

 

๋ฌธ์ œ) ์ด๋ฏธ์ง€๊ฐ€ ์ปดํ“จํ„ฐ์— ์ €์žฅ๋  ๋•Œ์—๋„ ๋””์ง€ํ„ธ ๋ฐ์ดํ„ฐํ™” ๋˜์–ด ์ €์žฅ๋œ๋‹ค.

๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ๊ทธ๋ฆผ์„ ๊ตฌ์„ฑํ•˜๋Š” ํ•œ ์ (pixel, ํ”ฝ์…€)์˜ ์ƒ‰์ƒ์„
๋นจ๊ฐ•(r), ์ดˆ๋ก(g), ํŒŒ๋ž‘(b)์˜ 3๊ฐ€์ง€์˜ ๋น›์˜ ์„ธ๊ธฐ ๊ฐ’์œผ๋กœ ๋”ฐ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ธ๋ฐ,

์˜ˆ๋ฅผ ๋“ค์–ด r, g, b ๊ฐ ์ƒ‰์— ๋Œ€ํ•ด์„œ 8๋น„ํŠธ(0~255, 256๊ฐ€์ง€ ๊ฐ€๋Šฅ)์”ฉ์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•˜๋ฉด,

ํ•œ ์ ์˜ ์ƒ‰์ƒ์€ 3๊ฐ€์ง€ r, g, b์˜ 8๋น„ํŠธ+8๋น„ํŠธ+8๋น„ํŠธ๋กœ ์ด 24๋น„ํŠธ๋กœ ํ‘œํ˜„ํ•ด์„œ
์ด 2^24 ๊ฐ€์ง€์˜ ์„œ๋กœ ๋‹ค๋ฅธ ๋น›์˜ ์ƒ‰๊น”์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

๊ทธ๋ ‡๊ฒŒ ์ €์žฅํ•˜๋Š” ์ ์„ ๋ชจ์•„ ํ•˜๋‚˜์˜ ํฐ ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š”๋ฐ,
1024 * 768 ์‚ฌ์ด์ฆˆ์— ๊ฐ ์ ์— ๋Œ€ํ•ด 24๋น„ํŠธ๋กœ ์ €์žฅํ•˜๋ฉด ๊ทธ ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ
์ €์žฅ ์šฉ๋Ÿ‰์„ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ ‡๊ฒŒ ์ด๋ฏธ์ง€์˜ ์›๋ž˜(raw) ๋ฐ์ดํ„ฐ๋ฅผ ์••์ถ•ํ•˜์ง€ ์•Š๊ณ  ๊ทธ๋Œ€๋กœ ์ €์žฅํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ์ด๋ฏธ์ง€ ํŒŒ์ผ์ด
*.bmp ํŒŒ์ผ์ด๋ฉฐ, ๋น„ํŠธ๋กœ ๊ทธ๋ฆผ์„ ๊ตฌ์„ฑํ•œ๋‹ค๊ณ  ํ•˜์—ฌ ๋น„ํŠธ๋งต ๋ฐฉ์‹ ๋˜๋Š” ๋ž˜์Šคํ„ฐ ๋ฐฉ์‹์ด๋ผ๊ณ  ํ•œ๋‹ค.

์ด๋ฏธ์ง€์˜ ๊ฐ€๋กœ ํ•ด์ƒ๋„ w, ์„ธ๋กœ ํ•ด์ƒ๋„ h, ํ•œ ํ”ฝ์…€์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋น„ํŠธ b ๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ,
์••์ถ•ํ•˜์ง€ ์•Š๊ณ  ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ €์žฅ ์šฉ๋Ÿ‰์„ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด ๋ณด์ž.


์˜ˆ๋ฅผ ๋“ค์–ด
์ผ๋ฐ˜์ ์ธ 1024 * 768 ์‚ฌ์ด์ฆˆ(ํ•ด์ƒ๋„)์˜ ๊ฐ์ ์— ๋Œ€ํ•ด
24๋น„ํŠธ(rgb ๊ฐ๊ฐ 8๋น„ํŠธ์”ฉ 3๊ฐœ)๋กœ ์ €์žฅํ•˜๋ ค๋ฉด 1024 * 768 * 24 bit์˜ ์ €์žฅ ์šฉ๋Ÿ‰์ด ํ•„์š”ํ•˜๋‹ค.

์‹ค์ œ ๊ทธ๋Ÿฐ์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ๊ฐ„๋‹จํ•œ ๊ทธ๋ฆผ ํŽธ์ง‘/์ˆ˜์ • ํ”„๋กœ๊ทธ๋žจ์„ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.


**
      8 bit(๋น„ํŠธ) = 1byte(๋ฐ”์ดํŠธ)     //       8bit=1Byte
1024 Byte(210 byte) = 1KB(ํ‚ฌ๋กœ ๋ฐ”์ดํŠธ) // 1024bit=1KB
1024 KB(210 KB) = 1MB(๋ฉ”๊ฐ€ ๋ฐ”์ดํŠธ)
1024 MB(210 MB) = 1GB(๊ธฐ๊ฐ€ ๋ฐ”์ดํŠธ)
1024 GB(210 GB) = 1TB(ํ…Œ๋ผ ๋ฐ”์ดํŠธ)

 

์ž…๋ ฅ ์ถœ๋ ฅ
1024  768  24 2.25 MB

 

#include <stdio.h>
 
int main() {
    float a, b, c, d;
    scanf("%f %f %f", &a, &b, &c);
    d = a*b*c/8/1024/1024;
    printf("%.2f MB", d);
 
    return 0;
}
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€