[JavaScript/section 4] 05 - K๋ฒˆ์งธ ํฐ ์ˆ˜
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ ๋ฌธ์ œ ํ˜„์ˆ˜๋Š” 1๋ถ€ํ„ฐ 100์‚ฌ์ด์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ์ ํžŒ N์žฅ์˜ ์นด๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๊ฐ™์€ ์ˆซ์ž์˜ ์นด๋“œ๊ฐ€ ์—ฌ๋Ÿฌ์žฅ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ํ˜„์ˆ˜๋Š” ์ด ์ค‘ 3์žฅ์„ ๋ฝ‘์•„ ๊ฐ ์นด๋“œ์— ์ ํžŒ ์ˆ˜๋ฅผ ํ•ฉํ•œ ๊ฐ’์„ ๊ธฐ๋กํ•˜๋ ค๊ณ  ํ•œ๋‹ค. 3์žฅ์„ ๋ฝ‘์„ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ๊ธฐ๋กํ•œ๋‹ค. ๊ธฐ๋กํ•œ ๊ฐ’ ์ค‘ K๋ฒˆ์งธ๋กœ ํฐ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋งŒ์•ฝ ํฐ ์ˆ˜๋ถ€ํ„ฐ ๋งŒ๋“ค์–ด์ง„ ์ˆ˜๊ฐ€ 25 25 23 23 22 20 19.....์ด๊ณ  K๊ฐ’์ด 3์ด๋ผ๋ฉด K๋ฒˆ์งธ ํฐ ๊ฐ’์€ 22์ด๋‹ค. ๐Ÿ“ ํ’€์ด ๐Ÿง‘๐Ÿป‍๐Ÿ’ป ๋‚˜์˜ ํ’€์ด ๋ฐฉ๋ฒ• 3์ค‘ for๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ N์žฅ์˜ ์นด๋“œ ์ค‘ 3์žฅ์˜ ์นด๋“œ๋ฅผ ๋ฝ‘๊ณ  ์นด๋“œ์— ์ ํžŒ ์ˆ˜๋ฅผ ํ•ฉํ•œ ๊ฐ’์„ ๋ฐฐ์—ด์— ์ €์žฅํ•œ๋‹ค. ๋ฐฐ์—ด์— ์ €์žฅ๋œ ๊ฐ’์„ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  Set ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•œ๋‹ค. ๋‹ค์‹œ ์Šคํ”„๋ ˆ๋“œ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ค‘๋ณต ๊ฐ’์ด ์ œ์™ธ๋œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋งŒ๋“  ..
[JavaScript/section 4] 04 - ์กธ์—…์„ ๋ฌผ
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ ๋ฌธ์ œ ์„ ์ƒ๋‹˜์€ ์˜ฌํ•ด ์กธ์—…ํ•˜๋Š” ๋ฐ˜ ํ•™์ƒ๋“ค์—๊ฒŒ ์กธ์—…์„ ๋ฌผ์„ ์ฃผ๋ ค๊ณ  ํ•œ๋‹ค. ํ•™์ƒ๋“ค์—๊ฒŒ ์ธํ„ฐ๋„ท ์‡ผํ•‘๋ชฐ์—์„œ ๊ฐ์ž ์›ํ•˜๋Š” ์ƒํ’ˆ์„ ๊ณจ๋ผ ๊ทธ ์ƒํ’ˆ์˜ ๊ฐ€๊ฒฉ๊ณผ ๋ฐฐ์†ก๋น„๋ฅผ ์ œ์ถœํ•˜๋ผ๊ณ  ํ–ˆ๋‹ค. ์„ ์ƒ๋‹˜์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์˜ˆ์‚ฐ์€ ํ•œ์ •๋˜์–ด ์žˆ๋‹ค. ํ˜„์žฌ ์˜ˆ์‚ฐ์œผ๋กœ ์ตœ๋Œ€ ๋ช‡ ๋ช…์˜ ํ•™์ƒ์—๊ฒŒ ์„ ๋ฌผ์„ ์‚ฌ์ค„ ์ˆ˜ ์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์„ ์ƒ๋‹˜์€ ์ƒํ’ˆ ํ•˜๋‚˜๋ฅผ 50% ํ• ์ธํ•ด์„œ(๋ฐ˜ ๊ฐ€๊ฒฉ) ์‚ด ์ˆ˜ ์žˆ๋Š” ์ฟ ํฐ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋ฐฐ์†ก๋น„๋Š” ํ• ์ธ์— ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค. ๐Ÿ“ ํ’€์ด ๐Ÿง‘๐Ÿป‍๐Ÿ’ป ๋‚˜์˜ ํ’€์ด ๋ฐฉ๋ฒ• price - ์ง€๋ถˆํ•ด์•ผํ•  ๊ฐ€๊ฒฉ ๊ฐ ํ•™์ƒ๋“ค์ด ๊ณ ๋ฅธ ์ƒํ’ˆ์˜ ๊ฐ€๊ฒฉ๊ณผ ๋ฐฐ์†ก๋น„์˜ ํ•ฉ์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค. ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฉฐ ๊ฐ ํ•™์ƒ๋“ค์ด ๊ณ ๋ฅธ ์ƒํ’ˆ์— ํ• ์ธ์„ ๋ถ€์—ฌํ•˜๊ณ  ํ• ์ธ๋œ ์ƒํ’ˆ์˜ ๊ฐ€๊ฒฉ๊ณผ ๋ฐฐ์†ก๋น„์˜ ํ•ฉ์„ price์— ์ €์žฅํ•œ๋‹ค. (์˜ค์ง ํ•˜๋‚˜์˜ ์ƒํ’ˆ์—๋งŒ ํ• ์ธ ๋ถ€์—ฌ) ํ• ์ธ ๋ฐ›์€ ์ƒํ’ˆ์„..
[JavaScript/section 4] 03 - ๋ฉ˜ํ† ๋ง
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ ๋ฌธ์ œ ํ˜„์ˆ˜๋„ค ๋ฐ˜ ์„ ์ƒ๋‹˜์€ ๋ฐ˜ ํ•™์ƒ๋“ค์˜ ์ˆ˜ํ•™ ์ ์ˆ˜๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋ฉ˜ํ† ๋ง ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ๋ฉ˜ํ† ๋ง์€ ๋ฉ˜ํ† (๋„์™€์ฃผ๋Š” ํ•™์ƒ)์™€ ๋ฉ˜ํ‹ฐ(๋„์›€์„ ๋ฐ›๋Š” ํ•™์ƒ)๊ฐ€ ํ•œ ์ง์ด ๋˜์–ด ๋ฉ˜ํ† ๊ฐ€ ๋ฉ˜ํ‹ฐ์˜ ์ˆ˜ํ•™ ๊ณต๋ถ€๋ฅผ ๋„์™€์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ์„ ์ƒ๋‹˜์€ M๋ฒˆ์˜ ์ˆ˜ํ•™ํ…Œ์ŠคํŠธ ๋“ฑ์ˆ˜๋ฅผ ๊ฐ€์ง€๊ณ  ๋ฉ˜ํ† ์™€ ๋ฉ˜ํ‹ฐ๋ฅผ ์ •ํ•œ๋‹ค. ๋งŒ์•ฝ Aํ•™์ƒ์ด ๋ฉ˜ํ† ์ด๊ณ , Bํ•™์ƒ์ด ๋ฉ˜ํ‹ฐ๊ฐ€ ๋˜๋Š” ์ง์ด ๋˜์—ˆ๋‹ค๋ฉด, Aํ•™์ƒ์€ M๋ฒˆ์˜ ์ˆ˜ํ•™ํ…Œ์ŠคํŠธ์—์„œ ๋ชจ๋‘ Bํ•™์ƒ๋ณด๋‹ค ๋“ฑ์ˆ˜๊ฐ€ ์•ž์„œ์•ผ ํ•œ๋‹ค. M๋ฒˆ์˜ ์ˆ˜ํ•™ ์„ฑ์ ์ด ์ฃผ์–ด์ง€๋ฉด ๋ฉ˜ํ† ์™€ ๋ฉ˜ํ‹ฐ๊ฐ€ ๋˜๋Š” ์ง์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ด ๋ช‡ ๊ฐ€์ง€ ์ธ์ง€ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๐Ÿ“ ํ’€์ด ๐Ÿง‘๐Ÿป‍๐Ÿ’ป ๋‚˜์˜ ํ’€์ด ๋ฐฉ๋ฒ• M - ์ด ํ…Œ์ŠคํŠธ ํšŸ์ˆ˜, N - ๋ฐ˜ ํ•™์ƒ ์ˆ˜ arr - ๊ฐ ์ธ๋ฑ์Šค๋งˆ๋‹ค ๋ฉ˜ํ‹ฐ๊ฐ€ ๋  ์ˆ˜ ์—†๋Š” ํ•™์ƒ์„ ์ €์žฅํ•  ๋ฐฐ์—ด(0๋ฒˆ ์ธ๋ฑ์Šค๋Š” 1๋ฒˆ ํ•™์ƒ์„ ๋ฉ˜ํ† ๋กœ ํ–ˆ์„ ๊ฒฝ..
[JavaScript/section 4] 02 - ๋’ค์ง‘์€ ์†Œ์ˆ˜
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ ๋ฌธ์ œ N๊ฐœ์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด ๊ฐ ์ž์—ฐ์ˆ˜๋ฅผ ๋’ค์ง‘์€ ํ›„ ๊ทธ ๋’ค์ง‘์€ ์ˆ˜๊ฐ€ ์†Œ์ˆ˜์ด๋ฉด ๊ทธ ์†Œ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 32๋ฅผ ๋’ค์ง‘์œผ๋ฉด 23์ด๊ณ , 23์€ ์†Œ์ˆ˜์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฉด 23์„ ์ถœ๋ ฅํ•œ๋‹ค. ๋‹จ, 910์„ ๋’ค์ง‘์œผ๋ฉด 19๋กœ ์ˆซ์žํ™” ํ•ด์•ผ ํ•œ๋‹ค. ์ฒซ ์ž๋ฆฌ๋ถ€ํ„ฐ์˜ ์—ฐ์†๋œ 0์€ ๋ฌด์‹œํ•œ๋‹ค. ์ฐธ๊ณ  ์‚ฌํ•ญ 1๏ธโƒฃ 2 ์ด์ƒ์ธ ์ž์—ฐ์ˆ˜๋ฅผ 2๋ถ€ํ„ฐ ํ•ด๋‹น ์ž์—ฐ์ˆ˜์˜ ์ œ๊ณฑ๊ทผ๊นŒ์ง€ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ๋‚˜๋จธ์ง€ ๊ฐ’์œผ๋กœ 0์ด ๋‚˜์˜ค์ง€ ์•Š๋Š”๋‹ค๋ฉด ํ•ด๋‹น ์ž์—ฐ์ˆ˜๋Š” ์†Œ์ˆ˜์ด๋‹ค. 2๏ธโƒฃ ์ˆ˜์‹๋งŒ์„ ์ด์šฉํ•˜์—ฌ ์ž์—ฐ์ˆ˜๋ฅผ ๋’ค์ง‘๋Š” ๋ฐฉ๋ฒ• ๋’ค์ง‘์€ ์ˆ˜๋ฅผ ์ €์žฅํ•  res๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค. ์ž์—ฐ์ˆ˜(x)๋ฅผ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€(t)๋ฅผ ๊ฐ€์ง€๊ณ  ๋‹ค์Œ ์ˆ˜์‹(res = res * 10 + t)์˜ ๊ฒฐ๊ณผ๋ฅผ res์— ์ €์žฅํ•œ๋‹ค. ์ž์—ฐ์ˆ˜๋ฅผ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋ชซ์„ ์ •์ˆ˜ํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•œ ํ›„ ์ž์—ฐ์ˆ˜๊ฐ€ ์ €์žฅ๋œ x..
[JavaScript/section 4] 01 - ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ ๋ฌธ์ œ N๊ฐœ์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด ๊ฐ ์ž์—ฐ์ˆ˜์˜ ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์„ ๊ตฌํ•˜๊ณ , ๊ทธ ํ•ฉ์ด ์ตœ๋Œ€์ธ ์ž์—ฐ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์ด ๊ฐ™์€ ๊ฒฝ์šฐ ์›๋ž˜ ์ˆซ์ž๊ฐ€ ํฐ ์ˆซ์ž๋ฅผ ๋‹ต์œผ๋กœ ํ•œ๋‹ค. ๋งŒ์•ฝ 235์™€ 1234๊ฐ€ ๋™์‹œ์— ๋‹ต์ด ๋  ์ˆ˜ ์žˆ๋‹ค๋ฉด 1234๋ฅผ ๋‹ต์œผ๋กœ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. ๐Ÿ“ ํ’€์ด ๐Ÿง‘๐Ÿป‍๐Ÿ’ป ๋‚˜์˜ ํ’€์ด ๋ฐฉ๋ฒ• ์ž…๋ ฅ๋œ ๊ฐ ์ž์—ฐ์ˆ˜๋ฅผ String ์ „์—ญ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ด ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. split('') ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ์ž๋ฆฟ์ˆ˜๋ณ„๋กœ ๋‚˜๋ˆ ์ค€ ํ›„ reduce() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์„ ๊ตฌํ•œ๋‹ค. max์˜ ๊ฐ’๊ณผ val์˜ ๊ฐ’์„ ๋น„๊ตํ•ด ๋” ํฐ ๊ฐ’์„ max์— ์žฌํ• ๋‹น ํ•ด์ฃผ๊ณ  ํ•ด๋‹น ์ž์—ฐ์ˆ˜๋ฅผ answer์— ์žฌํ• ๋‹นํ•œ๋‹ค. ๋งŒ์•ฝ, ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์ด ๊ฐ™์€ ๊ฒฝ์šฐ ์›๋ž˜ ์ˆซ์ž๋ฅผ ๋น„๊ตํ•ด ๋” ํฐ ๊ฐ’์„ answer์— ์žฌํ• ๋‹นํ•œ๋‹ค. function solutio..
_์„ฑํ˜ธ_
'๋ธ”๋ฃจํˆฌํฌ์Šค' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก