๋ฌธ์ ์ค๋ช
์ ๋ถ ์ธ ๊ฐ๋ก ์ผ๊ฐํ์ ๋ง๋ค๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ์กฐ๊ฑด์ ๋ง์กฑํด์ผ ํฉ๋๋ค.
- ๊ฐ์ฅ ๊ธด ๋ณ์ ๊ธธ์ด๋ ๋ค๋ฅธ ๋ ๋ณ์ ๊ธธ์ด์ ํฉ๋ณด๋ค ์์์ผ ํฉ๋๋ค.
์ผ๊ฐํ์ ์ธ ๋ณ์ ๊ธธ์ด๊ฐ ๋ด๊ธด ๋ฐฐ์ด sides์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ์ธ ๋ณ์ผ๋ก ์ผ๊ฐํ์ ๋ง๋ค ์ ์๋ค๋ฉด 1, ๋ง๋ค ์ ์๋ค๋ฉด 2๋ฅผ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- sides์ ์์๋ ์์ฐ์์ ๋๋ค.
- sides์ ๊ธธ์ด๋ 3์ ๋๋ค.
- 1 ≤ sides์ ์์ ≤ 1,000
์ ์ถ๋ ฅ ์
sides | result |
[1, 2, 3] | 2 |
[3, 6, 2] | 2 |
[199, 72, 222] | 1 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- ๊ฐ์ฅ ํฐ ๋ณ์ธ 3์ด ๋๋จธ์ง ๋ ๋ณ์ ํฉ 3๊ณผ ๊ฐ์ผ๋ฏ๋ก ์ผ๊ฐํ์ ์์ฑํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ 2๋ฅผ returnํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- ๊ฐ์ฅ ํฐ ๋ณ์ธ 6์ด ๋๋จธ์ง ๋ ๋ณ์ ํฉ 5๋ณด๋ค ํฌ๋ฏ๋ก ์ผ๊ฐํ์ ์์ฑํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ 2๋ฅผ returnํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #3
- ๊ฐ์ฅ ํฐ ๋ณ์ธ 222๊ฐ ๋๋จธ์ง ๋ ๋ณ์ ํฉ 271๋ณด๋ค ์์ผ๋ฏ๋ก ์ผ๊ฐํ์ ์์ฑํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ 1์ returnํฉ๋๋ค.
[2] ์ ๋ต ๋ฐ ํด์
#.1 ์ ๋ต ์ฝ๋
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include <stdio.h> #include <stdbool.h> #include <stdlib.h> int solution(int sides[], size_t sides_len) { int max_side = 0; int sum_of_other_sides = 0; // ๊ฐ์ฅ ๊ธด ๋ณ๊ณผ ๋๋จธ์ง ๋ ๋ณ์ ๊ธธ์ด๋ฅผ ๊ณ์ฐํฉ๋๋ค. for (size_t i = 0; i < sides_len; i++) { if (sides[i] > max_side) { max_side = sides[i]; } sum_of_other_sides += sides[i]; } sum_of_other_sides -= max_side; // ๊ฐ์ฅ ๊ธด ๋ณ์ ๊ธธ์ด๊ฐ ๋๋จธ์ง ๋ ๋ณ์ ํฉ๋ณด๋ค ์๋ค๋ฉด ์ผ๊ฐํ์ ๋ง๋ค ์ ์์ต๋๋ค. if (max_side < sum_of_other_sides) { return 1; } else { return 2; } } | cs |
#.2 ์ ๋ต ํด์
1. ํจ์ ์ ์:
int solution(int sides[], size_t sides_len)์ ์ธ ๋ณ์ ๊ธธ์ด๋ฅผ ๋ฐ์์์ ์ผ๊ฐํ์ ๋ง๋ค ์ ์๋์ง๋ฅผ ํ๋จํ๋ ํจ์์ด๋ค. sides ๋ฐฐ์ด์ ์ธ ๋ณ์ ๊ธธ์ด๋ฅผ ๋ด๊ณ ์๊ณ , sides_len์ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๋ํ๋ธ๋ค.
2. ๋ณ์ ์ ์ธ ๋ฐ ์ด๊ธฐํ:
max_side ๋ณ์๋ ์ธ ๋ณ ์ค ๊ฐ์ฅ ๊ธด ๋ณ์ ๊ธธ์ด๋ฅผ ์ ์ฅํ๊ณ , sum_of_other_sides ๋ณ์๋ ๋๋จธ์ง ๋ ๋ณ์ ๊ธธ์ด์ ํฉ์ ์ ์ฅํ๋ค.
3. ๋ฐ๋ณต๋ฌธ์ ํตํ ๊ณ์ฐ:
for ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ์ฌ ์ฃผ์ด์ง ์ธ ๋ณ์ ๊ธธ์ด๋ฅผ ์ํํ๋ฉด์ ๊ฐ์ฅ ๊ธด ๋ณ์ ๊ธธ์ด์ ๋๋จธ์ง ๋ ๋ณ์ ๊ธธ์ด์ ํฉ์ ๊ณ์ฐํ๋ค.
max_side๋ ๋ฐ๋ณต๋ฌธ์ ํตํด ๊ฐ ๋ณ์ ๊ธธ์ด์ ๋น๊ตํ์ฌ ๊ฐ์ฅ ํฐ ๊ฐ์ ์ฐพ๋๋ค.
sum_of_other_sides๋ ๋ชจ๋ ๋ณ์ ๊ธธ์ด๋ฅผ ๋ํด๋๊ฐ๋ฉด์ ๊ฐ์ฅ ๊ธด ๋ณ์ ๊ธธ์ด๋ ๋บ๋ค.
4. ์ผ๊ฐํ ํ๋จ:
๊ณ์ฐํ ๊ฐ์ฅ ๊ธด ๋ณ์ ๊ธธ์ด์ ๋๋จธ์ง ๋ ๋ณ์ ๊ธธ์ด์ ํฉ์ ๋น๊ตํ์ฌ, ๊ฐ์ฅ ๊ธด ๋ณ์ ๊ธธ์ด๊ฐ ๋๋จธ์ง ๋ ๋ณ์ ํฉ๋ณด๋ค ์๋ค๋ฉด ์ผ๊ฐํ์ ๋ง๋ค ์ ์๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ค. ๋ฐ๋ผ์ ์ด ๊ฒฝ์ฐ์๋ ํจ์๊ฐ 1์ ๋ฐํํ๋ค.
๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ, ์ผ๊ฐํ์ ๋ง๋ค ์ ์๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฏ๋ก ํจ์๊ฐ 2๋ฅผ ๋ฐํํ๋ค.
5. ์ด ์ฝ๋์์ ์ฌ์ฉ๋ ๊ฐ๋
:
- ์กฐ๊ฑด๋ฌธ: if์ else๋ฅผ ์ฌ์ฉํ์ฌ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ฝ๋๋ฅผ ์คํํ๋ค.
- ๋ฐฐ์ด: sides ๋ฐฐ์ด์ ์ธ ๋ณ์ ๊ธธ์ด๋ฅผ ์ ์ฅํ๊ณ , ๋ฐฐ์ด์ ๊ฐ ์์์ ์ ๊ทผํ์ฌ ์ฒ๋ฆฌํ๋ค.
- ๋ฐ๋ณต๋ฌธ: for ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ์์๋ฅผ ์ฒ๋ฆฌํ๋ค.
- ๋ณ์: ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์ค๊ฐ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๊ณ ๊ณ์ฐ์ ์ํํ๋ค.
- ๋น๊ต ์ฐ์ฐ: '>' ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ์๋ค์ ๊ฐ์ ๋น๊ตํ๋ค.
[3] ๋๋ ์
โ๏ธ ์กฐ๊ฑด๋ฌธ + ๋ฐ๋ณต๋ฌธ + ๋น๊ต ์ฐ์ฐ ์ ์ฌ์ฉํ์ฌ ๋ณ์ ๊ฐ์ ๊ฐฑ์ ํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ง๋ ๋ถ๋ถ์ด ๋ ํท๊ฐ๋ฆฐ๋ค... ์ฌ๊ธฐ์ ๋ฐฐ์ด ๊ฐ๋ ๊น์ง ๋ํด์ง๋๊น ๋ ์ด๋ ต๊ฒ ๋๊ปด์ง๋ค.