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

[C] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์Šค์ฟจ_6์ฃผ์ฐจ ๋ฌธ์ œ 1: ํ”ผ์ž ๋‚˜๋ˆ  ๋จน๊ธฐ (2)

waterproof 2023. 8. 10. 23:25

 

 

 


[1] ๋ฌธ์ œ

 

๋ฌธ์ œ ์„ค๋ช…

๋จธ์“ฑ์ด๋„ค ํ”ผ์ž๊ฐ€๊ฒŒ๋Š” ํ”ผ์ž๋ฅผ ์—ฌ์„ฏ ์กฐ๊ฐ์œผ๋กœ ์ž˜๋ผ ์ค๋‹ˆ๋‹ค. ํ”ผ์ž๋ฅผ ๋‚˜๋ˆ ๋จน์„ ์‚ฌ๋žŒ์˜ ์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, n๋ช…์ด ์ฃผ๋ฌธํ•œ ํ”ผ์ž๋ฅผ ๋‚จ๊ธฐ์ง€ ์•Š๊ณ  ๋ชจ๋‘ ๊ฐ™์€ ์ˆ˜์˜ ํ”ผ์ž ์กฐ๊ฐ์„ ๋จน์–ด์•ผ ํ•œ๋‹ค๋ฉด ์ตœ์†Œ ๋ช‡ ํŒ์„ ์‹œ์ผœ์•ผ ํ•˜๋Š”์ง€๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

 

์ œํ•œ์‚ฌํ•ญ

  • 1 ≤ n ≤ 100

 

์ž…์ถœ๋ ฅ ์˜ˆ

n result
6 1
10 5
4 2

 

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

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

  • 6๋ช…์ด ๋ชจ๋‘ ๊ฐ™์€ ์–‘์„ ๋จน๊ธฐ ์œ„ํ•ด ํ•œ ํŒ์„ ์‹œ์ผœ์•ผ ํ”ผ์ž๊ฐ€ 6์กฐ๊ฐ์œผ๋กœ ๋ชจ๋‘ ํ•œ ์กฐ๊ฐ์”ฉ ๋จน์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

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

  • 10๋ช…์ด ๋ชจ๋‘ ๊ฐ™์€ ์–‘์„ ๋จน๊ธฐ ์œ„ํ•ด ์ตœ์†Œ 5ํŒ์„ ์‹œ์ผœ์•ผ ํ”ผ์ž๊ฐ€ 30์กฐ๊ฐ์œผ๋กœ ๋ชจ๋‘ ์„ธ ์กฐ๊ฐ์”ฉ ๋จน์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

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

  • 4๋ช…์ด ๋ชจ๋‘ ๊ฐ™์€ ์–‘์„ ๋จน๊ธฐ ์œ„ํ•ด ์ตœ์†Œ 2ํŒ์„ ์‹œํ‚ค๋ฉด ํ”ผ์ž๊ฐ€ 12์กฐ๊ฐ์œผ๋กœ ๋ชจ๋‘ ์„ธ ์กฐ๊ฐ์”ฉ ๋จน์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 


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

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
 
int solution(int n) {
    int answer = 0;    
    if (n <= 3) {
        answer = 1;
    }
    else if (n % 6 == 0) {
        answer = n / 6;
    }
    else if (n % 3 == 0) {
        answer = n / 3;
    }
    else if (n % 2 == 0) {
        answer = n / 2;
    }
    else {
        answer = n;
    }        
    return answer;
}
cs

 

1. solution ํ•จ์ˆ˜ ์ •์˜:

 

ํ•จ์ˆ˜ solution์€ ์ •์ˆ˜ n์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›๊ณ , ์ •์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

answer๋ผ๋Š” ์ด๋ฆ„์˜ ์ •์ˆ˜ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค. ์ด ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜ ๋‚ด์—์„œ ๊ฒฐ๊ณผ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.


2. ์กฐ๊ฑด ๋ฐ ๊ณ„์‚ฐ:

  • if (n <= 3):  n์ด 3 ์ดํ•˜์ธ ๊ฒฝ์šฐ, answer๋ฅผ 1๋กœ ์„ค์ •ํ•œ๋‹ค.
  • else if (n % 6 == 0):  n์ด 6์˜ ๋ฐฐ์ˆ˜์ธ ๊ฒฝ์šฐ, answer๋ฅผ n / 6์˜ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•œ๋‹ค.
  • else if (n % 3 == 0): n์ด 3์˜ ๋ฐฐ์ˆ˜์ด๋ฉด์„œ 6์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ, answer๋ฅผ n / 3์˜ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•œ๋‹ค.
  • else if (n % 2 == 0): n์ด 2์˜ ๋ฐฐ์ˆ˜์ด๋ฉด์„œ 6์˜ ๋ฐฐ์ˆ˜๋‚˜ 3์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ, answer๋ฅผ n / 2์˜ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•œ๋‹ค.
  • else: ์œ„์˜ ๋ชจ๋“  ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ์ฆ‰ n์ด ์œ„์˜ ์–ด๋–ค ์กฐ๊ฑด์—๋„ ํ•ด๋‹นํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, answer๋ฅผ n์œผ๋กœ ์„ค์ •ํ•œ๋‹ค.
  • return answer;: ํ•จ์ˆ˜๋Š” ๊ณ„์‚ฐ๋œ answer ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

 

 


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

 

์ด ๋ฌธ์ œ๋Š” ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ํ”ผ์ž ํ•œ ํŒ์— 6์กฐ๊ฐ์ด ๋“ค์–ด์žˆ๋‹ค๋Š” ์กฐ๊ฑด์ด ์„ค์ •๋˜์—ˆ๋‹ค.

 

 

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

 

โœ”๏ธ if (n = 1) ์€ ํ‹€๋ฆฐ ํ‘œํ˜„ --> if (n == 1) ์ด ๋งž๋Š” ํ‘œํ˜„์ด๋‹ค.

์ดํ›„์— if (n <= 3) ์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

 

โœ”๏ธ n์ด 2, 3, 6 ์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ๊ฒฝ์šฐ๋งŒ ์žˆ๋Š” ๊ฒŒ ์•„๋‹ˆ๋‹ค! ๊ทธ ๋ถ€๋ถ„์„ ๋†“์ณค๋‹ค.

 

 

 

 

 

#.2  ๋‘ ๋ฒˆ์งธ ์‹œ๋„ - ์˜ค๋‹ต

 

 

โœ”๏ธ if (n = 1) ์€ ํ‹€๋ฆฐ ํ‘œํ˜„ --> if (n == 1) ์ด ๋งž๋Š” ํ‘œํ˜„์ด๋‹ค. ๋Œ€์‹ ์—  if (n <= 3) ์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

 

โœ”๏ธ n์ด 2, 3, 6 ์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ๊ฒฝ์šฐ๋งŒ ์žˆ๋Š” ๊ฒŒ ์•„๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ ๊ทธ ๋ถ€๋ถ„์„ ๋†“์ณค๋‹ค.



 

 

 

#.3 ์„ธ ๋ฒˆ์งธ ์‹œ๋„ - ์ •๋‹ต

 

 

โœ”๏ธ n์ด 2, 3, 6 ์œผ๋กœ ๋‚˜๋ˆ ์ง€์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋ฅผ else ์กฐ๊ฑด๋ฌธ์„ ์ถ”๊ฐ€ํ•ด์„œ ์ˆ˜์ •ํ•ด์ฃผ์—ˆ๋‹ค. ์ •๋‹ต~

 

 

 


[4] ๋Š๋‚€ ์ 

 

n์˜ ๋ฐฐ์ˆ˜์ธ์ง€ ํ™•์ธํ•˜๋Š” ์กฐ๊ฑด๋ฌธ์œผ๋กœ if (n % ์ •์ˆ˜) {} ๊ฐ€ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.