๐Ÿ›’[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋‹ค๋‹จ๊ณ„ ์นซ์†” ํŒ๋งค

Chobbyยท2022๋…„ 3์›” 30์ผ
1

Programmers

๋ชฉ๋ก ๋ณด๊ธฐ
26/349
post-thumbnail

๋ฌธ์ œ ์„ค๋ช…

๋ฏผํ˜ธ๋Š” ๋‹ค๋‹จ๊ณ„ ์กฐ์ง์„ ์ด์šฉํ•˜์—ฌ ์นซ์†”์„ ํŒ๋งคํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํŒ๋งค์›์ด ์นซ์†”์„ ํŒ๋งคํ•˜๋ฉด ๊ทธ ์ด์ต์ด ํ”ผ๋ผ๋ฏธ๋“œ ์กฐ์ง์„ ํƒ€๊ณ  ์กฐ๊ธˆ์”ฉ ๋ถ„๋ฐฐ๋˜๋Š” ํ˜•ํƒœ์˜ ํŒ๋งค๋ง์ž…๋‹ˆ๋‹ค. ์–ด๋Š์ •๋„ ํŒ๋งค๊ฐ€ ์ด๋ฃจ์–ด์ง„ ํ›„, ์กฐ์ง์„ ์šด์˜ํ•˜๋˜ ๋ฏผํ˜ธ๋Š” ์กฐ์ง ๋‚ด ๋ˆ„๊ฐ€ ์–ผ๋งˆ๋งŒํผ์˜ ์ด๋“์„ ๊ฐ€์ ธ๊ฐ”๋Š”์ง€๊ฐ€ ๊ถ๊ธˆํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฏผํ˜ธ๊ฐ€ ์šด์˜ํ•˜๊ณ  ์žˆ๋Š” ๋‹ค๋‹จ๊ณ„ ์นซ์†” ํŒ๋งค ์กฐ์ง์ด ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค.

๋ฏผํ˜ธ๋Š” center์ด๋ฉฐ, ํŒŒ๋ž€์ƒ‰ ๋„ค๋ชจ๋Š” ์—ฌ๋Ÿ ๋ช…์˜ ํŒ๋งค์›์„ ํ‘œ์‹œํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ๊ฐ์€ ์ž์‹ ์„ ์กฐ์ง์— ์ฐธ์—ฌ์‹œํ‚จ ์ถ”์ฒœ์ธ์— ์—ฐ๊ฒฐ๋˜์–ด ํ”ผ๋ผ๋ฏธ๋“œ ์‹์˜ ๊ตฌ์กฐ๋ฅผ ์ด๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์กฐ์ง์˜ ์ด์ต ๋ถ„๋ฐฐ ๊ทœ์น™์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ํŒ๋งค์›์€ ์นซ์†”์˜ ํŒ๋งค์— ์˜ํ•˜์—ฌ ๋ฐœ์ƒํ•˜๋Š” ์ด์ต์—์„œ 10% ๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ์ž์‹ ์„ ์กฐ์ง์— ์ฐธ์—ฌ์‹œํ‚จ ์ถ”์ฒœ์ธ์—๊ฒŒ ๋ฐฐ๋ถ„ํ•˜๊ณ  ๋‚˜๋จธ์ง€๋Š” ์ž์‹ ์ด ๊ฐ€์ง‘๋‹ˆ๋‹ค. ๋ชจ๋“  ํŒ๋งค์›์€ ์ž์‹ ์ด ์นซ์†” ํŒ๋งค์—์„œ ๋ฐœ์ƒํ•œ ์ด์ต ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์ž์‹ ์ด ์กฐ์ง์— ์ถ”์ฒœํ•˜์—ฌ ๊ฐ€์ž…์‹œํ‚จ ํŒ๋งค์›์—๊ฒŒ์„œ ๋ฐœ์ƒํ•˜๋Š” ์ด์ต์˜ 10% ๊นŒ์ง€ ์ž์‹ ์— ์ด์ต์ด ๋ฉ๋‹ˆ๋‹ค. ์ž์‹ ์—๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ์ด์ต ๋˜ํ•œ ๋งˆ์ฐฌ๊ฐ€์ง€์˜ ๊ทœ์น™์œผ๋กœ ์ž์‹ ์˜ ์ถ”์ฒœ์ธ์—๊ฒŒ ๋ถ„๋ฐฐ๋ฉ๋‹ˆ๋‹ค. ๋‹จ, 10% ๋ฅผ ๊ณ„์‚ฐํ•  ๋•Œ์—๋Š” ์› ๋‹จ์œ„์—์„œ ์ ˆ์‚ฌํ•˜๋ฉฐ, 10%๋ฅผ ๊ณ„์‚ฐํ•œ ๊ธˆ์•ก์ด 1 ์› ๋ฏธ๋งŒ์ธ ๊ฒฝ์šฐ์—๋Š” ์ด๋“์„ ๋ถ„๋ฐฐํ•˜์ง€ ์•Š๊ณ  ์ž์‹ ์ด ๋ชจ๋‘ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์•„๋ž˜์™€ ๊ฐ™์€ ํŒ๋งค ๊ธฐ๋ก์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์นซ์†”์˜ ํŒ๋งค์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ด์ต์€ ๊ฐœ๋‹น 100 ์›์œผ๋กœ ์ •ํ•ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŒ๋งค์›ํŒ๋งค ์ˆ˜๋Ÿ‰์ด์ต๊ธˆ
young121,200 ์›
john4400 ์›
tod2200 ์›
emily5500 ์›
mary101,000 ์›

ํŒ๋งค์› young ์— ์˜ํ•˜์—ฌ 1,200 ์›์˜ ์ด์ต์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. young ์€ ์ด ์ค‘ 10% ์— ํ•ด๋‹นํ•˜๋Š” 120 ์›์„, ์ž์‹ ์„ ์กฐ์ง์— ์ฐธ์—ฌ์‹œํ‚จ ์ถ”์ฒœ์ธ์ธ edward ์—๊ฒŒ ๋ฐฐ๋ถ„ํ•˜๊ณ  ์ž์‹ ์€ ๋‚˜๋จธ์ง€์ธ 1,080 ์›์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. edward ๋Š” young ์—๊ฒŒ์„œ ๋ฐ›์€ 120 ์› ์ค‘ 10% ์ธ 12 ์›์„ mary ์—๊ฒŒ ๋ฐฐ๋ถ„ํ•˜๊ณ  ์ž์‹ ์€ ๋‚˜๋จธ์ง€์ธ 108 ์›์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. 12 ์›์„ edward ๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ mary ๋Š” 10% ์ธ 1 ์›์„ ์„ผํ„ฐ์— (์ฆ‰, ๋ฏผํ˜ธ์—๊ฒŒ) ๋ฐฐ๋ถ„ํ•˜๊ณ  ์ž์‹ ์€ ๋‚˜๋จธ์ง€์ธ 11 ์›์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์ด ์ƒํƒœ๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ทธ ํ›„, ํŒ๋งค์› john ์— ์˜ํ•˜์—ฌ 400 ์›์˜ ์ด์ต์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. john ์€ 10% ์ธ 40 ์›์„ ์„ผํ„ฐ์— ๋ฐฐ๋ถ„ํ•˜๊ณ  ์ž์‹ ์ด ๋‚˜๋จธ์ง€์ธ 360 ์›์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์ด ์ƒํƒœ๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋˜ ๊ทธ ํ›„์—๋Š” ํŒ๋งค์› tod ์— ์˜ํ•˜์—ฌ 200 ์› ์ด์ต์ด ๋ฐœ์ƒํ•˜๋Š”๋ฐ, tod ์ž์‹ ์ด 180 ์›์„, ์ถ”์ฒœ์ธ์ธ jaimie ๊ฐ€ ๊ทธ ์ค‘ 10% ์ธ 20 ์›์„ ๋ฐ›์•„์„œ 18 ์›์„ ๊ฐ€์ง€๊ณ , jaimie ์˜ ์ถ”์ฒœ์ธ์ธ mary ๋Š” 2 ์›์„ ๋ฐ›์ง€๋งŒ ์ด๊ฒƒ์˜ 10% ๋Š” ์› ๋‹จ์œ„์—์„œ ์ ˆ์‚ฌํ•˜๋ฉด ๋ฐฐ๋ถ„ํ•  ๊ธˆ์•ก์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— mary ๋Š” 2 ์›์„ ๋ชจ๋‘ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์ด ์ƒํƒœ๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ทธ ๋‹ค์Œ์œผ๋กœ emily ๊ฐ€ ์นซ์†” ํŒ๋งค๋ฅผ ํ†ตํ•˜์—ฌ ์–ป์€ ์ด์ต 500 ์›์€ ๋งˆ์ฐฌ๊ฐ€์ง€์˜ ๊ทœ์น™์— ๋”ฐ๋ผ emily ์—๊ฒŒ 450 ์›, mary ์—๊ฒŒ 45 ์›, ๊ทธ๋ฆฌ๊ณ  ์„ผํ„ฐ์— 5 ์›์œผ๋กœ ๋ถ„๋ฐฐ๋ฉ๋‹ˆ๋‹ค. ์ด ์ƒํƒœ๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ, ํŒ๋งค์› mary ๋Š” 1,000 ์›์˜ ์ด์ต์„ ๋‹ฌ์„ฑํ•˜๊ณ , ์ด ์ค‘ 10% ์ธ 100 ์›์„ ์„ผํ„ฐ์— ๋ฐฐ๋ถ„ํ•œ ํ›„ ๊ทธ ๋‚˜๋จธ์ง€์ธ 900 ์›์„ ์ž์‹ ์ด ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์ด ์ƒํƒœ๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์œ„์™€ ๊ฐ™์ด ํ•˜์—ฌ ๋ชจ๋“  ์กฐ์ง ๊ตฌ์„ฑ์›๋“ค์˜ ์ด์ต ๋‹ฌ์„ฑ ํ˜„ํ™ฉ ์ง‘๊ณ„๊ฐ€ ๋๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ์–ป์€ ์ด์ต์„ ๋ชจ๋‘ ํ•ฉํ•œ ๊ฒฐ๊ณผ๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด ๊ฒฐ๊ณผ๊ฐ€ ๋ฏผํ˜ธ๊ฐ€ ํŒŒ์•…ํ•˜๊ณ ์ž ํ•˜๋Š” ์ด์ต ๋ฐฐ๋ถ„ ํ˜„ํ™ฉ์ž…๋‹ˆ๋‹ค.

๊ฐ ํŒ๋งค์›์˜ ์ด๋ฆ„์„ ๋‹ด์€ ๋ฐฐ์—ด enroll, ๊ฐ ํŒ๋งค์›์„ ๋‹ค๋‹จ๊ณ„ ์กฐ์ง์— ์ฐธ์—ฌ์‹œํ‚จ ๋‹ค๋ฅธ ํŒ๋งค์›์˜ ์ด๋ฆ„์„ ๋‹ด์€ ๋ฐฐ์—ด referral, ํŒ๋งค๋Ÿ‰ ์ง‘๊ณ„ ๋ฐ์ดํ„ฐ์˜ ํŒ๋งค์› ์ด๋ฆ„์„ ๋‚˜์—ดํ•œ ๋ฐฐ์—ด seller, ํŒ๋งค๋Ÿ‰ ์ง‘๊ณ„ ๋ฐ์ดํ„ฐ์˜ ํŒ๋งค ์ˆ˜๋Ÿ‰์„ ๋‚˜์—ดํ•œ ๋ฐฐ์—ด amount๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๊ฐ ํŒ๋งค์›์ด ๋“ํ•œ ์ด์ต๊ธˆ์„ ๋‚˜์—ดํ•œ ๋ฐฐ์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ํŒ๋งค์›์—๊ฒŒ ๋ฐฐ๋ถ„๋œ ์ด์ต๊ธˆ์˜ ์ดํ•ฉ์„ ๊ณ„์‚ฐํ•˜์—ฌ(์ •์ˆ˜ํ˜•์œผ๋กœ), ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ enroll์— ์ด๋ฆ„์ด ํฌํ•จ๋œ ์ˆœ์„œ์— ๋”ฐ๋ผ ๋‚˜์—ดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ œํ•œ์‚ฌํ•ญ

  • enroll์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 10,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
    • enroll์— ๋ฏผํ˜ธ์˜ ์ด๋ฆ„์€ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ enroll์˜ ๊ธธ์ด๋Š” ๋ฏผํ˜ธ๋ฅผ ์ œ์™ธํ•œ ์กฐ์ง ๊ตฌ์„ฑ์›์˜ ์ด ์ˆ˜์ž…๋‹ˆ๋‹ค.
  • referral์˜ ๊ธธ์ด๋Š” enroll์˜ ๊ธธ์ด์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    • referral ๋‚ด์—์„œ i ๋ฒˆ์งธ์— ์žˆ๋Š” ์ด๋ฆ„์€ ๋ฐฐ์—ด enroll ๋‚ด์—์„œ i ๋ฒˆ์งธ์— ์žˆ๋Š” ํŒ๋งค์›์„ ์กฐ์ง์— ์ฐธ์—ฌ์‹œํ‚จ ์‚ฌ๋žŒ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
    • ์–ด๋Š ๋ˆ„๊ตฌ์˜ ์ถ”์ฒœ๋„ ์—†์ด ์กฐ์ง์— ์ฐธ์—ฌํ•œ ์‚ฌ๋žŒ์— ๋Œ€ํ•ด์„œ๋Š” referral ๋ฐฐ์—ด ๋‚ด์— ์ถ”์ฒœ์ธ์˜ ์ด๋ฆ„์ด ๊ธฐ์ž…๋˜์ง€ ์•Š๊ณ  โ€œ-โ€œ ๊ฐ€ ๊ธฐ์ž…๋ฉ๋‹ˆ๋‹ค. ์œ„ ์˜ˆ์ œ์—์„œ๋Š” john ๊ณผ mary ๊ฐ€ ์ด๋Ÿฌํ•œ ์˜ˆ์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
    • enroll ์— ๋“ฑ์žฅํ•˜๋Š” ์ด๋ฆ„์€ ์กฐ์ง์— ์ฐธ์—ฌํ•œ ์ˆœ์„œ์— ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.
    • ์ฆ‰, ์–ด๋Š ํŒ๋งค์›์˜ ์ด๋ฆ„์ด enroll ์˜ i ๋ฒˆ์งธ์— ๋“ฑ์žฅํ•œ๋‹ค๋ฉด, ์ด ํŒ๋งค์›์„ ์กฐ์ง์— ์ฐธ์—ฌ์‹œํ‚จ ์‚ฌ๋žŒ์˜ ์ด๋ฆ„, ์ฆ‰ referral ์˜ i ๋ฒˆ์งธ ์›์†Œ๋Š” ์ด๋ฏธ ๋ฐฐ์—ด enroll ์˜ j ๋ฒˆ์งธ (j < i) ์— ๋“ฑ์žฅํ–ˆ์Œ์ด ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค.
  • seller์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 100,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
    • seller ๋‚ด์˜ i ๋ฒˆ์งธ์— ์žˆ๋Š” ์ด๋ฆ„์€ i ๋ฒˆ์งธ ํŒ๋งค ์ง‘๊ณ„ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋Š ํŒ๋งค์›์— ์˜ํ•œ ๊ฒƒ์ธ์ง€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
    • seller ์—๋Š” ๊ฐ™์€ ์ด๋ฆ„์ด ์ค‘๋ณตํ•ด์„œ ๋“ค์–ด์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • amount์˜ ๊ธธ์ด๋Š” seller์˜ ๊ธธ์ด์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    • amount ๋‚ด์˜ i ๋ฒˆ์งธ์— ์žˆ๋Š” ์ˆ˜๋Š” i ๋ฒˆ์งธ ํŒ๋งค ์ง‘๊ณ„ ๋ฐ์ดํ„ฐ์˜ ํŒ๋งค๋Ÿ‰์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
    • ํŒ๋งค๋Ÿ‰์˜ ๋ฒ”์œ„, ์ฆ‰ amount ์˜ ์›์†Œ๋“ค์˜ ๋ฒ”์œ„๋Š” 1 ์ด์ƒ 100 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.
  • ์นซ์†” ํ•œ ๊ฐœ๋ฅผ ํŒ๋งคํ•˜์—ฌ ์–ป์–ด์ง€๋Š” ์ด์ต์€ 100 ์›์œผ๋กœ ์ •ํ•ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ชจ๋“  ์กฐ์ง ๊ตฌ์„ฑ์›๋“ค์˜ ์ด๋ฆ„์€ 10 ๊ธ€์ž ์ด๋‚ด์˜ ์˜๋ฌธ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋“ค๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

enrollreferralselleramountresult
["john", "mary", "edward", "sam", "emily", "jaimie", "tod", "young"]["-", "-", "mary", "edward", "mary", "mary", "jaimie", "edward"]["young", "john", "tod", "emily", "mary"][12, 4, 2, 5, 10][360, 958, 108, 0, 450, 18, 180, 1080]
["john", "mary", "edward", "sam", "emily", "jaimie", "tod", "young"]["-", "-", "mary", "edward", "mary", "mary", "jaimie", "edward"]["sam", "emily", "jaimie", "edward"][2, 3, 5, 4][0, 110, 378, 180, 270, 450, 0, 0]

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

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

๋ฌธ์ œ์˜ ์˜ˆ์‹œ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

๋ฌธ์ œ์— ์ฃผ์–ด์ง„ ์˜ˆ์‹œ์™€ ๋™์ผํ•œ ์กฐ์ง ๊ตฌ์„ฑ์— ์กฐ๊ธˆ ๋‹ค๋ฅธ ํŒ๋งค๋Ÿ‰ ์ง‘๊ณ„๋ฅผ ์ ์šฉํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์ต์„ ๋ถ„๋ฐฐํ•˜๋Š” ๊ทœ์น™์ด ๋™์ผํ•˜๋ฏ€๋กœ, ๊ฐ„๋‹จํ•œ ๊ณ„์‚ฐ์— ์˜ํ•˜์—ฌ ํ‘œ์— ๋ณด์ธ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ€ป ๊ณต์ง€ - 2021๋…„ 5์›” 21์ผ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜์˜ ํ’€์ด

function solution(enroll, referral, seller, amount) {
    // ์ถ”์ฒœ ๋ฐ›์€ ์‚ฌ๋žŒ์„ key, ํ•ด์ค€ ์‚ฌ๋žŒ์„ value ์— ๋‹ด์€ ๊ฐ์ฒด ์ƒ์„ฑ
    const line = {}
    // ๊ฒฐ๊ณผ๋ฅผ ๋‹ด์„ array
    const result = Array.from({length:enroll.length}, () => 0)
    enroll.forEach((en,eIdx) => {
        if(referral[eIdx] !== '-') {
            line[en] = referral[eIdx]
        } else {
            line[en] = ''
        }
    })
    // ํŒ๋งค ํ•œ ์‚ฌ๋žŒ์„ ๋ชจ๋‘ ์ˆœํšŒ
    seller.forEach((sel,sIdx) => {
        dfs(sel,amount[sIdx]*100)
    })
    // DFS
    function dfs(sel,cost) {
        // ์ „๋‹ฌํ•  ๋ˆ
        const val = Math.floor(cost*0.1)
        // ์ „๋‹ฌ ํ•˜๋ ค๋Š” ๊ฐ’์ด 1๋ณด๋‹ค ๋‚ฎ์€ ๊ฒฝ์šฐ ์ „๋‹ฌํ•  ํ•„์š” ์—†์ด ๋ถˆํ•„์š”ํ•œ ํ˜ธ์ถœ์Šคํƒ์ด ์Œ“์ด๋ฏ€๋กœ ์กฐ๊ฑด์„ ๊ฑธ์–ด์ฃผ์ง€ ์•Š๋Š”๋‹ค๋ฉด ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ์—์„œ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•จ
        if(line[sel] && val > 0) {
            dfs(line[sel], val)
        }
        // ์ •๋‹ต ๋ฐฐ์—ด์— ์ „๋‹ฌํ•œ ๊ธˆ์•ก์„ ์ œ์™ธํ•œ ์ˆ˜์ต์„ ๋”ํ•จ
        result[enroll.indexOf(sel)]+=cost-val
    }
    return result
}
profile
๋‚ด ์ง€์‹์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€๋‹ดํ•จ

1๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2022๋…„ 3์›” 30์ผ

์žฌ๊ท€๋ฅผ์จ์„œ ๊ณ„์† ๋‚˜๋ˆ ์ฃผ๋Š”๊ฑด๊ฐ€ 10ํผ๋งŒํผ??

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ