๋ฌธ์ œ

https://www.acmicpc.net/problem/1546

์„ค๋ช…

๋ฌธ์ œ ์ž์ฒด๋Š” ใ„นใ…‡ ์‰ฌ์šด๋ฐ ๊ตณ์ด ๊ณ ๋ฏผํ•œ ๋ถ€๋ถ„์ด๋ผ๋ฉด for๋ฌธ์„ ๋‘๋ฒˆ์ด ์•„๋‹Œ ํ•œ๋ฒˆ๋งŒ์— ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์—†์„๊นŒ ์ž ๊น ๊ณ ๋ฏผํ•œ ์ •๋„. ์ผ๋‹จ ๋‚ด๊ฐ€ ์ƒ๊ฐํ–ˆ์„๋–„๋Š” ์„ฑ์ ์„ ์ž…๋ ฅ๋ฐ›๋Š” ๋™์‹œ์— ์ตœ๋Œ“๊ฐ’์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํŒ๋ณ„ํ•˜๋„๋ก ํ–ˆ๋Š”๋ฐ ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ๋ฐ˜๋ณต๋ฌธ์ด ๋ชจ๋‘ ๋๋‚˜๊ธฐ ์ „๊นŒ์ง€๋Š” ์ตœ๋Œ“๊ฐ’์„ ๋ชจ๋ฅด๋ฏ€๋กœ for๋ฌธ ํ•˜๋‚˜๋กœ ์กฐ์ž‘์ ์ˆ˜๊นŒ์ง€ ๊ตฌํ•˜๊ธฐ์—๋Š” ๋ฌด๋ฆฌ๋ผ๊ณ  ํŒ๋‹จํ–ˆ๋‹ค. ์ผ๋‹จ ๊ทธ์ „์— ๋“ฃ๊ธฐ๋กœ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ์ƒ์ˆ˜๊ฐ€ ์•„๋‹Œ ๋ณ€์ˆ˜๋กœ ์žก๋Š” ๊ฒƒ์€ ๊ณต์‹์ ์ธ ๋ฌธ๋ฒ•์ด ์•„๋‹ˆ๋ผ๊ณ ๋Š” ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ ์ผ๋‹จ malloc (memory allocation)๋ฅผ ๋ฐฐ์šธ๋•Œ๊นŒ์ง€๋Š” ์“ฐ๊ธฐ๋กœ,.. (๋‹น์žฅ์€ ๋งฅ์˜ xcode์—์„œ ๊ผฌํˆฌ๋ฆฌ๋Š” ์•ˆ์žก์œผ๋‹ˆโ€ฆ) ์†Œ์Šค ์ž์ฒด๋Š” ๊ฐ„๋‹จํ•˜๋‹ค ๊ณผ๋ชฉ์ˆ˜ ๋ฐ›์„ ๋ณ€์ˆ˜๋ž‘ ์ตœ๋Œ“๊ฐ’์„ ๋‹ด์„ ๋ณ€์ˆ˜ ๋ง๋“ค๊ณ  ๊ณผ๋ชฉ์ˆ˜ ์ž…๋ ฅ๋ฐ›๊ณ  ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ์„ฑ์ ์„ ์ž…๋ ฅ๋ฐ›์œผ๋ฉด์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ตœ๋Œ“๊ฐ’ ํŒ๋ณ„ํ•˜๊ณ , ๋‹ค์‹œํ•œ๋ฒˆ ๋ฐ˜๋ณต๋ฌธ ๋Œ๋ฉด์„œ ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ์ ์ˆ˜ ์กฐ์ž‘์‹์„ ์ด์šฉํ•ด ๊ณ„์‚ฐํ›„ ์กฐ์ž‘๋œ ์„ฑ์  ๋ฐฐ์—ด์— ๋‹ค์‹œ ์ง‘์–ด๋„ฃ์œผ๋ฉด์„œ ์ตœ์ข… ํ‰๊ท  ๋ณ€์ˆ˜์— ๋ชจ๋‘ ๋”ํ•˜๊ณ  ๋ฐ˜๋ณต๋ฌธ ํ›„์— ๊ณผ๋ชฉ์ˆ˜๋กœ ๋‚˜๋ˆ„๊ณ  ์†Œ์ˆ˜๊ฐ’์œผ๋กœ ์ถœ๋ ฅ์‹œํ‚ค๋Š”๊ฒƒ์ด ๋‹ค๋‹ค. ์ง€๊ธˆ ์น˜๋ฉด์„œ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ๊นŒ ํ‰๊ท ๋งŒ ๊ตฌํ•˜๋ฉด ๋˜๋Š”๊ฑฐ๋‹ˆ๊นŒ ์กฐ์ž‘ํ›„ ์ ์ˆ˜ ๋ณ€์ˆ˜(after_score)์€ ์“ธ๋ฐ์—†๋Š” ๋ณ€์ˆ˜ ์˜€๋„คโ€ฆ ๋” ๋‹จ์ˆœํ™” ์‹œํ‚ฌ์ˆ˜ ์žˆ์—ˆ๊ตฌ๋งŒโ€ฆ๐Ÿ˜…

์ฝ”๋“œ

#include <stdio.h>

int main() {
    int subject, max=0;
    scanf("%d",&subject);
    int score[subject];
    double after_score[subject],final_average = 0;
    for(int i=0; i<subject; i++)
    {
        scanf("%d",&score[i]);
        if(score[i]>max)
            max = score[i];
    }
    for(int i=0; i<subject; i++)
    {
        after_score[i] = (score[i]*1.0) / max * 100.0;
        final_average += after_score[i];
    }
    final_average /= subject*1.0;
    printf("%f\n",final_average);
    return 0;
}