๐Ÿ‘ฉ‍๐Ÿ’ป/JavaScript

[Programmers] JavaScript ํ–‰๋ ฌ์˜ ๋ง์…ˆ, ํ‚คํŒจ๋“œ ๋ˆ„๋ฅด๊ธฐ ๋ฌธ์ œ

ํ•œ๋‚˜ 2021. 1. 28. 19:43

๋ฌธ์ œ

ํ–‰๋ ฌ์˜ ๋ง์…ˆ์€ ํ–‰๊ณผ ์—ด์˜ ํฌ๊ธฐ๊ฐ€ ๊ฐ™์€ ๋‘ ํ–‰๋ ฌ์˜ ๊ฐ™์€ ํ–‰, ๊ฐ™์€ ์—ด์˜ ๊ฐ’์„ ์„œ๋กœ ๋”ํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. 2๊ฐœ์˜ ํ–‰๋ ฌ arr1๊ณผ arr2๋ฅผ ์ž…๋ ฅ๋ฐ›์•„, ํ–‰๋ ฌ ๋ง์…ˆ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ ์กฐ๊ฑด

  • ํ–‰๋ ฌ arr1, arr2์˜ ํ–‰๊ณผ ์—ด์˜ ๊ธธ์ด๋Š” 500์„ ๋„˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

 

 

 

์ฝ”๋“œ

์ฒซ ๋ฒˆ์งธ, ๋‘ ๋ฒˆ์งธ ํ–‰๋ ฌ์ด ๊ฐ๊ฐ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋“ค์–ด์˜จ๋‹ค.

๊ฐ ํ–‰๋ ฌ์˜ ๊ฐ™์€ ํ–‰, ์—ด๋ผ๋ฆฌ ๋”ํ•ด์„œ ์ƒˆ๋กœ์šด ํ–‰๋ ฌ์„ ๋ฆฌํ„ดํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ค‘์ฒฉ๋œ for ๋ฌธ์„ ์‚ฌ์šฉํ•ด ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋Š”๋ฐ, map์„ ํ†ตํ•ด ๊ฐœ์„ ํ•œ ์ฝ”๋“œ๋ฅผ ๋ดค๋‹ค. ๋ฐฐ์—ด์„ ๋‹ค๋ฃฐ ๋•Œ๋Š” map()์„ ์ ๊ทน์ ์œผ๋กœ ํ™œ์šฉํ•˜๋ฉด ์ฝ”๋“œ๊ฐ€ ์ •๋ง ๊น”๋”ํ•ด์ง„๋‹ค. map์˜ ์ธ์ˆ˜๋กœ ์›์†Œ, ๊ทธ๋ฆฌ๊ณ  ์ธ๋ฑ์Šค๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์œผ๋‹ˆ, ๊ตณ์ด ์ผ๋ฐ˜ for ๋ฌธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

 

๋ฌธ์ œ

2020 ์นด์นด์˜ค ์ธํ„ด์‹ญ ํ‚คํŒจ๋“œ ๋ˆ„๋ฅด๊ธฐ ๋ฌธ์ œ

์ด ์ „ํ™” ํ‚คํŒจ๋“œ์—์„œ ์™ผ์†๊ณผ ์˜ค๋ฅธ์†์˜ ์—„์ง€์†๊ฐ€๋ฝ๋งŒ์„ ์ด์šฉํ•ด์„œ ์ˆซ์ž๋งŒ์„ ์ž…๋ ฅํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋งจ ์ฒ˜์Œ ์™ผ์† ์—„์ง€์†๊ฐ€๋ฝ์€ * ํ‚คํŒจ๋“œ์— ์˜ค๋ฅธ์† ์—„์ง€์†๊ฐ€๋ฝ์€ # ํ‚คํŒจ๋“œ ์œ„์น˜์—์„œ ์‹œ์ž‘ํ•˜๋ฉฐ, ์—„์ง€์†๊ฐ€๋ฝ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ทœ์น™์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์—„์ง€์†๊ฐ€๋ฝ์€ ์ƒํ•˜์ขŒ์šฐ 4๊ฐ€์ง€ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ‚คํŒจ๋“œ ์ด๋™ ํ•œ ์นธ์€ ๊ฑฐ๋ฆฌ๋กœ 1์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ์™ผ์ชฝ ์—ด์˜ 3๊ฐœ์˜ ์ˆซ์ž 1, 4, 7์„ ์ž…๋ ฅํ•  ๋•Œ๋Š” ์™ผ์† ์—„์ง€์†๊ฐ€๋ฝ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋ฅธ์ชฝ ์—ด์˜ 3๊ฐœ์˜ ์ˆซ์ž 3, 6, 9๋ฅผ ์ž…๋ ฅํ•  ๋•Œ๋Š” ์˜ค๋ฅธ์† ์—„์ง€์†๊ฐ€๋ฝ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์šด๋ฐ ์—ด์˜ 4๊ฐœ์˜ ์ˆซ์ž 2, 5, 8, 0์„ ์ž…๋ ฅํ•  ๋•Œ๋Š” ๋‘ ์—„์ง€์†๊ฐ€๋ฝ์˜ ํ˜„์žฌ ํ‚คํŒจ๋“œ์˜ ์œ„์น˜์—์„œ ๋” ๊ฐ€๊นŒ์šด ์—„์ง€์†๊ฐ€๋ฝ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 4-1. ๋งŒ์•ฝ ๋‘ ์—„์ง€์†๊ฐ€๋ฝ์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ™๋‹ค๋ฉด, ์˜ค๋ฅธ์†์žก์ด๋Š” ์˜ค๋ฅธ์† ์—„์ง€์†๊ฐ€๋ฝ, ์™ผ์†์žก์ด๋Š” ์™ผ์† ์—„์ง€์†๊ฐ€๋ฝ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ˆœ์„œ๋Œ€๋กœ ๋ˆ„๋ฅผ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด numbers, ์™ผ์†์žก์ด์ธ์ง€ ์˜ค๋ฅธ์†์žก์ด์ธ ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์ž์—ด hand๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๊ฐ ๋ฒˆํ˜ธ๋ฅผ ๋ˆ„๋ฅธ ์—„์ง€์†๊ฐ€๋ฝ์ด ์™ผ์†์ธ ์ง€ ์˜ค๋ฅธ์†์ธ ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์—ฐ์†๋œ ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ ์‚ฌํ•ญ

  • numbers ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋Š” 1 ์ด์ƒ 1,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
  • numbers ๋ฐฐ์—ด ์›์†Œ์˜ ๊ฐ’์€ 0 ์ด์ƒ 9 ์ดํ•˜์ธ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค.
  • hand๋Š” "left" ๋˜๋Š” "right" ์ž…๋‹ˆ๋‹ค.
    • "left"๋Š” ์™ผ์†์žก์ด, "right"๋Š” ์˜ค๋ฅธ์†์žก์ด๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  • ์™ผ์† ์—„์ง€์†๊ฐ€๋ฝ์„ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ๋Š” L, ์˜ค๋ฅธ์† ์—„์ง€์†๊ฐ€๋ฝ์„ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ๋Š” R์„ ์ˆœ์„œ๋Œ€๋กœ ์ด์–ด๋ถ™์—ฌ ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ return ํ•ด์ฃผ์„ธ์š”.

 

์ฝ”๋“œ

ํ–‰๋ ฌ ๋ฌธ์ œ์™€ ๋น„์Šทํ•˜๊ฒŒ ์ ‘๊ทผํ•ด์•ผ ํ–ˆ๋˜ ํ‚คํŒจ๋“œ ๋ฌธ์ œ.

์ฒ˜์Œ์—๋Š” ํ‚คํŒจ๋“œ ๊ฐ€์šด๋ฐ ์ˆซ์ž์ธ [2, 5, 8, 0] ๋“ค์— ๊ฐ๊ฐ ์ตœ๊ทผ์ ‘ ๊ฑฐ๋ฆฌ์— ํ•ด๋‹นํ•˜๋Š” ๋ฒ”์œ„๋ฅผ ๊ตฌํ•ด ๊ณ„์‚ฐํ–ˆ๋Š”๋ฐ, ์‚ฌ์‹ค์€ ๊ฐ๊ฐ์˜ ์ˆซ์ž ๋ฒˆํ˜ธ๋“ค์— X, Y ์ขŒํ‘œ๊ฐ’์„ ์„ค์ •ํ•ด์ฃผ๋ฉด ์‰ฝ๊ฒŒ ํ’€๋ฆฌ๋Š” ๋ฌธ์ œ์˜€๋‹ค.

 

๊ฐ€์žฅ ๋จผ์ € ๊ณ„์‚ฐํ•˜๊ธฐ ์‰ฝ๋„๋ก ์–‘์ˆ˜๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ X, Y ์ขŒํ‘œ๊ฐ’์„ ๋งŒ๋“ค์–ด์ค€๋‹ค.

์‹œ์ž‘ ์œ„์น˜๋กœ ์ดˆ๊ธฐํ™”๋ฅผ ํ•ด์ค€ ๋’ค, ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•  ๋ฌธ์ž์—ด์„ ๋‹ด์„ ๋ณ€์ˆ˜ result๋„ ์ดˆ๊ธฐํ™”ํ•ด์ค€๋‹ค.

 

๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ์„ ์œ„ํ•ด ํ•จ์ˆ˜๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ ๋‹ค. ๊ฑฐ๋ฆฌ๋Š” ์–‘์ˆ˜์—ฌ์•ผ๋งŒ ํ•˜๋ฏ€๋กœ, Math.abs() ๋ฉ”์†Œ๋“œ๋กœ ์ ˆ๋Œ“๊ฐ’ํ™”ํ•ด์ค€๋‹ค. ์˜ค๋ฅธ์†์žก์ด์ธ์ง€, ์™ผ์†์žก์ด์ธ์ง€์— ๋”ฐ๋ผ ๊ฑฐ๋ฆฌ๊ฐ€ ๋™์ผํ•  ๊ฒฝ์šฐ ์„ ํƒํ•ด์•ผ ํ•˜๋Š” ์œ„์น˜๊ฐ€ ๋‹ค๋ฅด๋ฏ€๋กœ ํ•ด๋‹น ํ•จ์ˆ˜์— ๊ธฐ๋Šฅ์„ ๋„ฃ์–ด์ค€๋‹ค.

 

for of ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ๋ˆŒ๋Ÿฌ์•ผ ํ•  ํ‚คํŒจ๋“œ ๋ฐฐ์—ด์ธ numbers์˜ ์›์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ๋ˆ๋‹ค. ์™ผ์†์œผ๋กœ ๋ˆŒ๋Ÿฌ์•ผ ํ•  ๋ชฉ๋ก์€ 1, 4, 7 ๋”ฐ๋ผ์„œ 3์œผ๋กœ ๋‚˜๋ˆด์„ ๋•Œ 1๋กœ ํ•˜๋‚˜์”ฉ ๋–จ์–ด์ง„๋‹ค. ์˜ค๋ฅธ์†์œผ๋กœ ๋ˆŒ๋Ÿฌ์•ผ ํ•  ๋ชฉ๋ก์€ 3์œผ๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ 0์œผ๋กœ ๋–จ์–ด์ง€์ง€๋งŒ, 0์€ ์ œ์™ธ ํ•ด์•ผ ํ•œ๋‹ค.

 

๊ฐ€์šด๋ฐ ํ‚คํŒจ๋“œ ๋ฒˆํ˜ธ๋ฅผ ๋ˆŒ๋Ÿฌ์•ผ ํ•  ๋•Œ ์•„๊นŒ ๋งŒ๋“ค์–ด๋‘” ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๊ทธ๋ ‡๊ฒŒ ํ•ด์„œ ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ˆ„๋ฅธ ํ‚ค์˜ ์† ์œ„์น˜(result[result-length -1]์— ๋”ฐ๋ผ ์˜ค๋ฅธ์† ์œ„์น˜์™€ ์™ผ์† ์œ„์น˜๋„ ๋‹ค์‹œ ๊ฐ’์„ ํ• ๋‹นํ•ด์ค€๋‹ค.