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

[C] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์Šค์ฟจ_5์ฃผ์ฐจ ๋ฌธ์ œ 2: ์–‘๊ผฌ์น˜

waterproof 2023. 8. 4. 22:18


[1] ๋ฌธ์ œ

 

๋ฌธ์ œ ์„ค๋ช…

๋จธ์“ฑ์ด๋„ค ์–‘๊ผฌ์น˜ ๊ฐ€๊ฒŒ๋Š” 10์ธ๋ถ„์„ ๋จน์œผ๋ฉด ์Œ๋ฃŒ์ˆ˜ ํ•˜๋‚˜๋ฅผ ์„œ๋น„์Šค๋กœ ์ค๋‹ˆ๋‹ค. ์–‘๊ผฌ์น˜๋Š” 1์ธ๋ถ„์— 12,000์›, ์Œ๋ฃŒ์ˆ˜๋Š” 2,000์›์ž…๋‹ˆ๋‹ค. ์ •์ˆ˜ n๊ณผ k๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์–‘๊ผฌ์น˜ n์ธ๋ถ„๊ณผ ์Œ๋ฃŒ์ˆ˜ k๊ฐœ๋ฅผ ๋จน์—ˆ๋‹ค๋ฉด ์ด์–ผ๋งˆ๋ฅผ ์ง€๋ถˆํ•ด์•ผ ํ•˜๋Š”์ง€ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

 

์ œํ•œ์‚ฌํ•ญ

  • 0 < n < 1,000
  • n / 10 ≤ k < 1,000
  • ์„œ๋น„์Šค๋กœ ๋ฐ›์€ ์Œ๋ฃŒ์ˆ˜๋Š” ๋ชจ๋‘ ๋งˆ์‹ญ๋‹ˆ๋‹ค.

 

์ž…์ถœ๋ ฅ ์˜ˆ

n k result
10 3 124,400
64 6 768,800

 

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

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

  • 10์ธ๋ถ„์„ ์‹œ์ผœ ์„œ๋น„์Šค๋กœ ์Œ๋ฃŒ์ˆ˜๋ฅผ ํ•˜๋‚˜ ๋ฐ›์•„ ์ด 10 * 12000 + 3 * 2000 - 1 * 2000 = 124,000์›์ž…๋‹ˆ๋‹ค.

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

  • 64์ธ๋ถ„์„ ์‹œ์ผœ ์„œ๋น„์Šค๋กœ ์Œ๋ฃŒ์ˆ˜๋ฅผ 6๊ฐœ ๋ฐ›์•„ ์ด 64 * 12000 + 6 * 2000 - 6 * 2000 =768,000์›์ž…๋‹ˆ๋‹ค.

 

 

 


[2] ์ •๋‹ต

 

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
 
int solution(int n, int k) {
    int answer;
    if (n>=10) {
        answer = 12000*+ 2000*- 2000*((int)(n/10));
        return answer; }
    else {
        answer = 12000*+ 2000*k;
        return answer; }
}
cs

 

 

์ด ์ฝ”๋“œ๋Š” ๋‘ ๊ฐœ์˜ ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜ n๊ณผ k๋ฅผ ์ž…๋ ฅ๋ฐ›์•„์„œ, ์ฃผ์–ด์ง„ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๊ฐ’์„ ๊ณ„์‚ฐํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜์ธ solution์„ ์ •์˜ํ•œ๋‹ค.

 

1. ํ•จ์ˆ˜

 

1
int solution(int n, int k)
cs

 

  • int: ํ•จ์ˆ˜๊ฐ€ ์ •์ˆ˜ํ˜• ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค
  • int n: ํ•จ์ˆ˜์— ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜ n์ด๋‹ค.
  • int k: ํ•จ์ˆ˜์— ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜ k์ด๋‹ค.

 

2. ํ•จ์ˆ˜ ๋‚ด์šฉ:

 

1
2
3
4
5
6
7
8
int answer;
if (n >= 10) {
    answer = 12000 * n + 2000 * k - 2000 * ((int)(n / 10));
    return answer;
else {
    answer = 12000 * n + 2000 * k;
    return answer;
}
cs

 

  • int answer: ํ•จ์ˆ˜๊ฐ€ ๋ฐ˜ํ™˜ํ•  ๊ฒฐ๊ณผ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜์ด๋‹ค.
  • ์กฐ๊ฑด๋ฌธ:

          - if (n >= 10): ๋งŒ์•ฝ n์ด 10 ์ด์ƒ์ผ ๊ฒฝ์šฐ์— ํ•ด๋‹นํ•˜๋Š” ๋ธ”๋ก์„ ์‹คํ–‰ํ•œ๋‹ค.

          - else: n์ด 10 ๋ฏธ๋งŒ์ผ ๊ฒฝ์šฐ์— ํ•ด๋‹นํ•˜๋Š” ๋ธ”๋ก์„ ์‹คํ–‰ํ•œ๋‹ค.

  • ๊ฐ’ ๊ณ„์‚ฐ:

          - 12000 * n: n์— 12000์„ ๊ณฑํ•œ ๊ฐ’์„ ๊ณ„์‚ฐํ•œ๋‹ค.

          - 2000 * k: k์— 2000์„ ๊ณฑํ•œ ๊ฐ’์„ ๊ณ„์‚ฐํ•œ๋‹ค.

          - 2000 * ((int)(n / 10)): n์„ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋ชซ์— 2000์„ ๊ณฑํ•œ ๊ฐ’์„ ๊ณ„์‚ฐํ•œ๋‹ค. (int)(n / 10)์€ n์„ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋ชซ์„ ๊ตฌํ•˜๋Š” ์—ฐ์‚ฐ์ด๋ฉฐ, ์ •์ˆ˜ํ˜• ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋„๋ก ์บ์ŠคํŒ…์„ ์ˆ˜ํ–‰๋‹ค.

 

  • ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜:

         - return answer: ๊ณ„์‚ฐ๋œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

 

 


[3] ํ’€์ด ๋ฐ ํ•ด์„

 

#.1 ์ฒซ ๋ฒˆ์งธ ํ’€์ด - ์˜ค๋‹ต

 

 

'์–‘๊ผฌ์น˜ 10์ธ๋ถ„์„ ๋จน์œผ๋ฉด, ์Œ๋ฃŒ 1์ž”์ด ๋ฌด๋ฃŒ'์ธ ์กฐ๊ฑด์„ ์–‘๊ผฌ์น˜ 1์ธ๋ถ„์ด ๋ฌด๋ฃŒ์ธ ์กฐ๊ฑด์œผ๋กœ ์ž˜๋ชป ์ฝ์—ˆ๋‹ค.

 

#.2 ๋‘ ๋ฒˆ์งธ ํ’€์ด - ์ •๋‹ต

 

 

์ œ๋Œ€๋กœ ๋ฐ”๊ฟ”์ฃผ์—ˆ๋‹ค! ์ •๋‹ต~~

 

 

 


[4] ์ถ”๊ฐ€ ํ•™์Šต

 

โœ๏ธ ๋”ฐ๋กœ ๊นŠ๊ฒŒ ๊ณต๋ถ€ํ•  ๋‚ด์šฉ์€ ์—†๋Š” ๊ฒƒ ๊ฐ™๊ณ , ์ด ๋ฌธ์ œ์˜ ํ‚ค์›Œ๋“œ๋Š” ๋‚˜๋ˆ—์…ˆ ์—ฐ์‚ฐ์ž ์‚ฌ์šฉ('%'๋ฅผ ์จ์•ผํ•˜๋Š”์ง€ '/'๋ฅผ ์จ์•ผํ•˜๋Š”์ง€ ์ฃผ์˜), ํ˜•๋ณ€ํ™˜... ์ •๋„์ธ ๊ฒƒ ๊ฐ™๋‹ค! ๊ทธ๋ฆฌ๊ณ  answer์„ returnํ•ด์ค˜์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ๊นŒ์ง€!

 

 

 


[5] ๋Š๋‚€ ์ 

 

๋ฌธ์ œ ์กฐ๊ฑด์„ ๊ผผ๊ผผํžˆ ์ž˜ ์ฝ์–ด์„œ ์†Œ์š” ์‹œ๊ฐ„์„ ์ค„์—ฌ๋ณด์ž~~