[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 % ์ ์) {} ๊ฐ ๋ง์ด ์ฌ์ฉ๋๋ ๊ฒ ๊ฐ๋ค.