๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“– Problem Solution/Programmers

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ˆซ์ž์˜ ํ‘œํ˜„

by Fomagran ๐Ÿ’ป 2022. 4. 11.
728x90
๋ฐ˜์‘ํ˜•

Problem

 

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ˆซ์ž์˜ ํ‘œํ˜„

Finn์€ ์š”์ฆ˜ ์ˆ˜ํ•™๊ณต๋ถ€์— ๋น ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜ํ•™ ๊ณต๋ถ€๋ฅผ ํ•˜๋˜ Finn์€ ์ž์—ฐ์ˆ˜ n์„ ์—ฐ์†ํ•œ ์ž์—ฐ์ˆ˜๋“ค๋กœ ํ‘œํ˜„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์—ฌ๋Ÿฌ๊ฐœ๋ผ๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด 15๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด 4๊ฐ€์ง€๋กœ ํ‘œํ˜„ ํ• 

programmers.co.kr


Solution

 

1. ์ดˆ๊ธฐ ๊ฐ’ ์„ค์ •

 

n์ด ํ™€์ˆ˜๋ผ๋ฉด 2๋ถ€ํ„ฐ ์ง์ˆ˜๋ผ๋ฉด 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. 

 

์ด์œ ๋Š” ์ž๊ธฐ ์ž์‹ ์ธ ์ˆซ์ž๋Š” ๋ฌด์กฐ๊ฑด ํฌํ•จ๋˜๊ธฐ ๋•Œ๋ฌธ์— 1์„ ๋”ํ•ด์ฃผ๊ณ , ํ™€์ˆ˜์ธ ๊ฒฝ์šฐ์—” ์ ˆ๋ฐ˜๊ณผ ๊ทธ ์ ˆ๋ฐ˜์˜ +1์„ ๋”ํ–ˆ์„ ๋•Œ๊ฐ€ ๋ฐ˜๋“œ์‹œ ์—ฐ์†์ ์ธ ์ˆซ์ž์ด๊ธฐ ๋•Œ๋ฌธ์— 1์„ ๋”ํ•ด์ค˜ 2๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ํ•ฉ์„ ์ €์žฅํ•  sum, ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ์ €์žฅํ•  min, ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ์ €์žฅํ•  max๋ฅผ 1๋ถ€ํ„ฐ ์„ ์–ธํ•ด ์ค๋‹ˆ๋‹ค.

 

    var answer = n%2 == 1 ? 2 : 1
    let sum = 0
    let max = 1
    let min = 1

 

2. n์ด 1์ด๋ผ๋ฉด 1์„ ๋ฐ˜ํ™˜ํ•ด ์ค๋‹ˆ๋‹ค.(edge์ผ€์ด์Šค)

 

 if (n == 1) return 1

 

3. ๊ฐ€์žฅ ํฐ ์ˆ˜๊ฐ€ n์˜ ์ ˆ๋ฐ˜์ด ๋  ๋•Œ๊นŒ์ง€ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฐ˜๋ณตํ•œ๋‹ค.

 

  • ํ•ฉ์ด n๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ

 

ํ•ฉ์— ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ๋”ํ•ด์ฃผ๊ณ , ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ 1 ๋Š˜๋ ค์ค๋‹ˆ๋‹ค.

 

  • ํ•ฉ์ด n๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ

 

์ •๋‹ต์˜ ๊ฐฏ์ˆ˜๋ฅผ 1 ๋Š˜๋ ค์ฃผ๊ณ , ํ•ฉ์ด n๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ์™€ ๊ฐ™์ด ์ง„ํ–‰ํ•ด ์ค๋‹ˆ๋‹ค.

 

  • ํ•ฉ์ด n๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ

 

ํ•ฉ์— ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ ๋นผ์ฃผ๊ณ , ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ 1 ๋Š˜๋ ค์ค๋‹ˆ๋‹ค.

 

4. answer๋ฅผ ๋ฐ˜ํ™˜ํ•ด ์ค๋‹ˆ๋‹ค.

 

    return answer

Source Code

 

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€