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

[C] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์Šค์ฟจ_3์ฃผ์ฐจ ๋ฌธ์ œ 2: ๊ฐ๋„๊ธฐ

waterproof 2023. 7. 21. 22:57

[C] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์Šค์ฟจ_3์ฃผ์ฐจ ๋ฌธ์ œ 2: ๊ฐ๋„๊ธฐ

 

 

 

 


[1] ๋ฌธ์ œ

 

๋ฌธ์ œ ์„ค๋ช…

๊ฐ์—์„œ 0๋„ ์ดˆ๊ณผ 90๋„ ๋ฏธ๋งŒ์€ ์˜ˆ๊ฐ, 90๋„๋Š” ์ง๊ฐ, 90๋„ ์ดˆ๊ณผ 180๋„ ๋ฏธ๋งŒ์€ ๋‘”๊ฐ 180๋„๋Š” ํ‰๊ฐ์œผ๋กœ ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ angle์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ ์˜ˆ๊ฐ์ผ ๋•Œ 1, ์ง๊ฐ์ผ ๋•Œ 2, ๋‘”๊ฐ์ผ ๋•Œ 3, ํ‰๊ฐ์ผ ๋•Œ 4๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”.

  • ์˜ˆ๊ฐ : 0 < angle < 90
  • ์ง๊ฐ : angle = 90
  • ๋‘”๊ฐ : 90 < angle < 180
  • ํ‰๊ฐ : angle = 180

 

์ œํ•œ์‚ฌํ•ญ

  • 0 < angle ≤ 180
  • angle์€ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค.

 

์ž…์ถœ๋ ฅ ์˜ˆ

angle result
70 1
91 3
180 4

 

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

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

  • angle์ด 70์ด๋ฏ€๋กœ ์˜ˆ๊ฐ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 1์„ returnํ•ฉ๋‹ˆ๋‹ค.

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

  • angle์ด 91์ด๋ฏ€๋กœ ๋‘”๊ฐ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 3์„ returnํ•ฉ๋‹ˆ๋‹ค.

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

  • angle์ด 180์ด๋ฏ€๋กœ ํ‰๊ฐ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 4๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.

 

 

 


[2] ์ •๋‹ต

 

 

 


[3] ํ•ด์„

 

์ด ์ฝ”๋“œ๋Š” ์ฃผ์–ด์ง„ ๊ฐ๋„(angle)๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ ํ•ด๋‹น ๊ฐ๋„๊ฐ€ ์–ด๋Š ์ˆซ์ž์— ํ•ด๋‹นํ•˜๋Š”์ง€ ํŒ๋‹จํ•˜์—ฌ ์ •์ˆ˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

 

์ฝ”๋“œ์˜ ๊ฐ ๋ถ€๋ถ„์„ ์‚ดํŽด๋ณด๊ฒ ๋‹ค.

 

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

 

1
2
3
4
5
int solution(int angle) {
    int answer;
    // ...
    return answer;
}
cs

 

์ฃผ์–ด์ง„ ๊ฐ๋„๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›๊ณ , ํ•ด๋‹นํ•˜๋Š” ์ˆซ์ž๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜์˜ ๋ถ€๋ถ„์ด๋‹ค.

 

 

2. ์กฐ๊ฑด๋ฌธ:

 

1
2
3
4
5
6
7
8
if ( 0 < angle && angle < 90 )
    answer = 1;
else if ( angle == 90 )
    answer = 2;
else if ( 90 < angle && angle < 180 )
    answer = 3;
else if (angle == 180)
    answer = 4;
cs

 

์ฃผ์–ด์ง„ ๊ฐ๋„์— ๋Œ€ํ•ด ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ๋„์— ํ•ด๋‹นํ•˜๋Š” ์ˆซ์ž๋ฅผ ํŒ๋‹จํ•˜๊ณ  ๊ทธ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ๋ณ€์ˆ˜ answer์— ์ €์žฅํ•œ๋‹ค.

 

  • ์ฒซ ๋ฒˆ์งธ ์กฐ๊ฑด๋ฌธ(if ( 0 < angle && angle < 90 )): ์ž…๋ ฅ ๊ฐ๋„๊ฐ€ 0๋„๋ณด๋‹ค ํฌ๊ณ  90๋„ ๋ฏธ๋งŒ์ธ ๊ฒฝ์šฐ answer์— 1์ด ์ €์žฅ๋œ๋‹ค.
  • ๋‘ ๋ฒˆ์งธ ์กฐ๊ฑด๋ฌธ(else if ( angle == 90 )): ์ž…๋ ฅ ๊ฐ๋„๊ฐ€ 90๋„์ธ ๊ฒฝ์šฐ answer์— 2๊ฐ€ ์ €์žฅ๋œ๋‹ค.
  • ์„ธ ๋ฒˆ์งธ ์กฐ๊ฑด๋ฌธ(else if ( 90 < angle && angle < 180 )): ์ž…๋ ฅ ๊ฐ๋„๊ฐ€ 90๋„๋ณด๋‹ค ํฌ๊ณ  180๋„ ๋ฏธ๋งŒ์ธ ๊ฒฝ์šฐ answer์— 3์ด ์ €์žฅ๋œ๋‹ค.
  • ๋„ค ๋ฒˆ์งธ ์กฐ๊ฑด๋ฌธ(else if (angle == 180)): ์ž…๋ ฅ ๊ฐ๋„๊ฐ€ 180๋„์ธ ๊ฒฝ์šฐ answer์— 4๊ฐ€ ์ €์žฅ๋œ๋‹ค.

 

3. ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜:

 

1
return answer;
cs

 

๊ฒฐ๊ณผ์ ์œผ๋กœ ํ•จ์ˆ˜๋Š” ๋ณ€์ˆ˜ answer์— ์ €์žฅ๋œ ๊ฐ’(1, 2, 3, 4 ์ค‘ ํ•˜๋‚˜)์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์ด ์ฝ”๋“œ๋Š” ์ž…๋ ฅ๋œ ๊ฐ๋„์— ๋”ฐ๋ผ ํ•ด๋‹นํ•˜๋Š” ์ˆซ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, solution(30)์€ 1์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , solution(110)์€ 3์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

 

 


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

 

# ์ฒซ ๋ฒˆ์งธ ์‹œ๋„

 

ํ’€์ด

 

์ฑ„์  ๊ฒฐ๊ณผ

 

(ํ•˜๋‚˜์”ฉ ๊ณ ์น˜๋ฉด์„œ ์ •๋‹ต์— ๊ฐ€๊นŒ์›Œ์กŒ๋˜ ๊ณผ์ • ๊ทธ๋Œ€๋กœ๋ฅผ ์ ์œผ๋ ค๊ณ  ํ•œ๋‹ค.)

 

โœ”๏ธ if ์ด์™ธ์˜ ์กฐ๊ฑด๋ฌธ์€ else if ๋˜๋Š” else๋ฅผ ์จ์•ผ ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์žŠ์—ˆ๋‹ค... ๊ทธ ๋ถ€๋ถ„์„ ๊ณ ์ณ์„œ ๋‘ ๋ฒˆ์งธ ์‹œ๋„๋ฅผ ์ œ์ถœํ–ˆ๋‹ค.

 

# ๋‘ ๋ฒˆ์งธ ์‹œ๋„

 

ํ’€์ด

 

์ฑ„์  ๊ฒฐ๊ณผ

 

โœ”๏ธ ๋‘ ๋ฒˆ์งธ ์‹œ๋„๊ฐ€ ์˜ค๋‹ต์ธ ์ด์œ ๋ฅผ ์ž˜๋ชป ์ƒ๊ฐํ–ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ–ˆ๋ƒ๋ฉด, '๊ผญ else๋กœ ๋งˆ๋ฌด๋ฆฌํ•ด์•ผ ํ•˜๋‚˜?'...๋ผ๊ณ  ์ž˜๋ชป ์ƒ๊ฐํ–ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋ฒ”์œ„๋ฅผ ํ•จ์ˆ˜ ์ดˆ๊ธฐ์— ์„ค์ •ํ•ด ์ฃผ๊ณ , ๋งˆ์ง€๋ง‰์— 180์„ else if ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  else๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ์—ˆ๋‹ค.

# ์„ธ ๋ฒˆ์งธ ์‹œ๋„

 

ํ’€์ด

 

์ฑ„์  ๊ฒฐ๊ณผ

 

โœ”๏ธ ์—ฌ๊ธฐ์„œ ๊นจ๋‹ฌ์•˜๋‹ค. '=='๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๋ฐ '='๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ‹€๋ ธ๋‹ค๋Š” ๊ฒƒ์„... 

๋„ค ๋ฒˆ์งธ ์‹œ๋„์—์„œ๋Š” angle๊ฐ’์ด 90์ผ ๋•Œ '==' ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‹์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ์—ˆ๋‹ค.

 

 

# ๋„ค ๋ฒˆ์งธ ์‹œ๋„ - ์ •๋‹ต!

 

ํ’€์ด

 

์ฑ„์  ๊ฒฐ๊ณผ

 

โœ”๏ธ ์„ธ ๋ฒˆ์งธ ์‹œ๋„๋ฅผ ํ‹€๋ฆฌ๊ณ  ๋‚˜์„œ ํ‹€๋ฆฐ ๋ถ€๋ถ„์„ ์ •ํ™•ํžˆ ์ฐพ์€ ํ›„ ์ œ์ถœํ•œ ๋„ค ๋ฒˆ์งธ ์ฝ”๋“œ๋Š” ์ •๋‹ต!

์—ฌ๊ธฐ์„œ ์•„๊นŒ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ๊ถ๊ธˆํ•œ ์ ์ด ๋งˆ์Œ์— ๊ฑธ๋ ธ๋‹ค.

๊ผญ else๋กœ ๋งˆ๋ฌด๋ฆฌ๋ฅผ ํ•ด์ค˜์•ผ ํ•˜๋Š” ๊ฑธ๊นŒ...?

๊ทธ๋ž˜์„œ ํ•จ์ˆ˜ ์ •์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— angle ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ์ •ํ•ด์ฃผ์—ˆ๋˜ ์ฝ”๋“œ๋ฅผ ์ง€์šฐ๊ณ , ๋งˆ์ง€๋ง‰์— else if๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ฐ”๊พธ์–ด๋„ ์ •๋‹ต์ธ์ง€ ํ™•์ธํ•ด ๋ณด์•˜๋‹ค.

 

# ๋‹ค์„ฏ ๋ฒˆ์งธ ์‹œ๋„ - ์ •๋‹ต

 

ํ’€์ด

 

์ฑ„์  ๊ฒฐ๊ณผ

 

โœ”๏ธ ์ •๋‹ต์ด๋‹ค. ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•  ๋•Œ ๊ผญ else๋กœ ๋งˆ๋ฌด๋ฆฌ์ง€์–ด์•ผ ํ•  ํ•„์š”๋Š” ์—†๋‹ค.

์™œ ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ–ˆ์„๊นŒ...? ์•„๋ฌด๋„ ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ผ๊ณ  ์‹œํ‚จ ์  ์—†์„ ํ…๋ฐ... ์œ„ํ—˜ํ•œ ๋‡Œํ”ผ์…œ... ํ•˜ํ•˜

 

 

 


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

 

์—ฐ์‚ฐ์ž์— ๋Œ€ํ•ด ๋˜ ๊ณต๋ถ€ํ•˜๊ณ  ๊ทธ ๋‚ด์šฉ์„ ๋ธ”๋กœ๊ทธ ๊ธ€์œผ๋กœ ์ž‘์„ฑํ•œ ๋’ค ๋‚˜์ค‘์— ์ฒจ๋ถ€ํ•˜๊ฒ ๋‹ค...

๊ผญ ํ•˜๊ฒ ๋‹ค... ์ด๋ฒˆ ์—ฌ๋ฆ„ ๋ฐฉํ•™ ์ค‘์œผ๋กœ ํ•  ๊ฒƒ์ด๋‹ค... ์ •๋ฆฌํ•˜๋Š” ๋ฐ์— ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆด ๊ฒƒ ๊ฐ™์•„์„œ...

 

 

 

 


[6] ๋Š๋‚€ ์ 

 

์–ด๋ ค์šด ๋ฌธ์ œ๋Š” ์•„๋‹ˆ์—ˆ์ง€๋งŒ, ์กฐ๊ฑด๋ฌธ๊ณผ ์—ฐ์‚ฐ์ž ๊ด€๋ จํ•ด์„œ ์ •ํ™•ํ•˜๊ฒŒ ์•Œ๊ณ  ์žˆ์ง€ ์•Š์œผ๋ฉด ์ž์ž˜ํ•˜๊ฒŒ ํ‹€๋ฆด ์š”์†Œ๊ฐ€ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

๋ณต์Šตํ•˜๊ฒŒ ๋˜์–ด์„œ ์ข‹์•˜๋‹ค!