SWLUG/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์Šค์ฟจ (C)

[C] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์Šค์ฟจ_4์ฃผ์ฐจ ๋ฌธ์ œ 1: ๋ฐฐ์—ด์˜ ํ‰๊ท 

waterproof 2023. 7. 30. 18:09


[1] ๋ฌธ์ œ

 

๋ฌธ์ œ ์„ค๋ช…

์ •์ˆ˜ ๋ฐฐ์—ด numbers๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. numbers์˜ ์›์†Œ์˜ ํ‰๊ท ๊ฐ’์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

์ œํ•œ์‚ฌํ•ญ

  • 0 ≤ numbers์˜ ์›์†Œ ≤ 1,000
  • 1 ≤ numbers์˜ ๊ธธ์ด ≤ 100
  • ์ •๋‹ต์˜ ์†Œ์ˆ˜ ๋ถ€๋ถ„์ด .0 ๋˜๋Š” .5์ธ ๊ฒฝ์šฐ๋งŒ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

 

์ž…์ถœ๋ ฅ ์˜ˆ

numbers result
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 5.5
[89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99] 94.0

 

 

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • numbers์˜ ์›์†Œ๋“ค์˜ ํ‰๊ท  ๊ฐ’์€ 5.5์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • numbers์˜ ์›์†Œ๋“ค์˜ ํ‰๊ท  ๊ฐ’์€ 94.0์ž…๋‹ˆ๋‹ค.

 

 

 


[2] ์ •๋‹ต ๋ฐ ํ•ด์„

 

(1) ์ •๋‹ต ์ฝ”๋“œ

 

1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
double solution(int numbers[], int length) {
    double sum = 0.0;
    for (int i = 0; i < length; i++) {
        sum += numbers[i];
    }
    return sum / length;
}
cs

 

 

(2) ํ•ด์„

 

1
double solution(int numbers[], int length) {
cs

 

  • solution ํ•จ์ˆ˜๋Š” double ํ˜•ํƒœ์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋‘ ๊ฐœ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ numbers์™€ length๋ฅผ ๋ฐ›๋Š”๋‹ค. numbers๋Š” ์ •์ˆ˜ ๋ฐฐ์—ด์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ํฌ์ธํ„ฐ์ด๊ณ , length๋Š” ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

 

 

1
    double sum = 0.0;
cs

 

  • sum์ด๋ผ๋Š” ์ด๋ฆ„์˜ double ํ˜• ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  0.0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค. ์ด ๋ณ€์ˆ˜๋Š” ๋ฐฐ์—ด numbers์˜ ์›์†Œ๋“ค์„ ๋ˆ„์ ํ•ด์„œ ๋”ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

 

1
    for (int i = 0; i < length; i++) {
cs

 

  • for ๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ๋ฐ˜๋ณต ์ž‘์—…์„ ์‹œ์ž‘ํ•œ๋‹ค. i๋Š” ๋ฃจํ”„ ์ œ์–ด ๋ณ€์ˆ˜๋กœ, 0์—์„œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ length - 1๊นŒ์ง€ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ ๋ฐ˜๋ณตํ•œ๋‹ค. ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ, ์ด๋Ÿฌํ•œ ํ˜•ํƒœ๋กœ ๋ฐ˜๋ณต๋ฌธ์„ ์ž‘์„ฑํ•œ๋‹ค.

 

1
        sum += numbers[i];
cs

 

  • ๋ฃจํ”„ ๋‚ด๋ถ€์—์„œ sum ๋ณ€์ˆ˜์— numbers[i] ๊ฐ’์„ ๋”ํ•œ๋‹ค. numbers[i]๋Š” ๋ฐฐ์—ด numbers์˜ i๋ฒˆ์งธ ์›์†Œ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฃจํ”„๊ฐ€ ๋ชจ๋‘ ์‹คํ–‰๋˜๋ฉด, sum ๋ณ€์ˆ˜์—๋Š” ๋ฐฐ์—ด numbers์˜ ๋ชจ๋“  ์›์†Œ์˜ ํ•ฉ์ด ์ €์žฅ๋œ๋‹ค.

 

1
    }
cs

 

  • for ๋ฃจํ”„์˜ ๋์„ ํ‘œ์‹œํ•œ๋‹ค. ๋ฃจํ”„๋ฅผ ๋ฒ—์–ด๋‚˜๋ฉด ๋ชจ๋“  ๋ฐฐ์—ด ์›์†Œ๋ฅผ ๋”ํ•œ ๊ฒฐ๊ณผ๊ฐ€ sum์— ์ €์žฅ๋œ๋‹ค.

 

1
    return sum / length;
cs

 

  • ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜ ๊ฐ’์œผ๋กœ sum์„ length๋กœ ๋‚˜๋ˆˆ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ด๊ฒƒ์€ ๋ฐฐ์—ด numbers์˜ ์›์†Œ๋“ค์˜ ํ‰๊ท ๊ฐ’์„ ์˜๋ฏธํ•œ๋‹ค.
  • ํ•จ์ˆ˜์˜ ์ •์˜๋ฅผ ๋งˆ์น˜๊ณ  ๋‚˜๋ฉด, ์ด์–ด์ง€๋Š” main ํ•จ์ˆ˜์—์„œ solution ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๊ฒŒ ๋œ๋‹ค. main ํ•จ์ˆ˜์—์„œ๋Š” ๋‘ ๊ฐœ์˜ ๋ฐฐ์—ด numbers1๊ณผ numbers2๋ฅผ ์ดˆ๊ธฐํ™”ํ•œ ํ›„, solution ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๊ฐ ๋ฐฐ์—ด์˜ ํ‰๊ท ๊ฐ’์„ ๊ณ„์‚ฐํ•˜๊ณ  ์ถœ๋ ฅํ•œ๋‹ค.

 

 

 


[3] ํ’€์ด ๋ฐ ์˜ค๋‹ต

 

์—ฌ๋ ค์›Œ์„œ ์ฑ…์„ ์ฐพ์•„๋ณด๋ฉด์„œ ๊ณต๋ถ€ํ–ˆ๋”๋‹ˆ ๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์–ด์„œ ํ•œ ๋ฒˆ์— ๋งž์ถœ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

 

 


[4] ๋Š๋‚€ ์ 

 

๋ณ€์ˆ˜๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์„ค์ •ํ•ด์•ผ ํ•ด์„œ ํ—ท๊ฐˆ๋ ธ๋‹ค...