๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กJavascript (28)

Suzie's Blog

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์กฐ๊ฑด์— ๋งž๊ฒŒ ์ˆ˜์—ด ๋ณ€ํ™˜ํ•˜๊ธฐ 2 (JavaScript)

๋ฌธ์ œ ์„ค๋ช… ์ •์ˆ˜ ๋ฐฐ์—ด arr๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. arr์˜ ๊ฐ ์›์†Œ์— ๋Œ€ํ•ด ๊ฐ’์ด 50๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€ ์ง์ˆ˜๋ผ๋ฉด 2๋กœ ๋‚˜๋ˆ„๊ณ , 50๋ณด๋‹ค ์ž‘์€ ํ™€์ˆ˜๋ผ๋ฉด 2๋ฅผ ๊ณฑํ•˜๊ณ  ๋‹ค์‹œ 1์„ ๋”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ž‘์—…์„ x๋ฒˆ ๋ฐ˜๋ณตํ•œ ๊ฒฐ๊ณผ์ธ ๋ฐฐ์—ด์„ arr(x)๋ผ๊ณ  ํ‘œํ˜„ํ–ˆ์„ ๋•Œ, arr(x) = arr(x + 1)์ธ x๊ฐ€ ํ•ญ์ƒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ x ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”. ๋‹จ, ๋‘ ๋ฐฐ์—ด์— ๋Œ€ํ•œ "="๋Š” ๋‘ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๊ฐ€ ์„œ๋กœ ๊ฐ™์œผ๋ฉฐ, ๊ฐ™์€ ์ธ๋ฑ์Šค์˜ ์›์†Œ๊ฐ€ ๊ฐ๊ฐ ์„œ๋กœ ๊ฐ™์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ œํ•œ์‚ฌํ•ญ โ— 1 ≤ arr์˜ ๊ธธ์ด ≤ 1,000,000 โ—‹ 1 ≤ arr์˜ ์›์†Œ์˜ ๊ฐ’ ≤ 100 ์ž…์ถœ๋ ฅ ์˜ˆ arr result [1, 2, 3, 100, 99, 98] 5 ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ #1..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]ํŠน์ • ๋ฌธ์ž์—ด๋กœ ๋๋‚˜๋Š” ๊ฐ€์žฅ ๊ธด ๋ถ€๋ถ„ ๋ฌธ์ž์—ด ์ฐพ๊ธฐ(JavaScript) (feat. lastIndexOf)

๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ž์—ด myString๊ณผ pat๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. myString์˜ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์ค‘ pat๋กœ ๋๋‚˜๋Š” ๊ฐ€์žฅ ๊ธด ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ์ฐพ์•„์„œ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ • 5 ≤ myString ≤ 20 • 1 ≤ pat ≤ 5 → pat์€ ๋ฐ˜๋“œ์‹œ myString์˜ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. • myString๊ณผ pat์— ๋“ฑ์žฅํ•˜๋Š” ์•ŒํŒŒ๋ฒณ์€ ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ myString pat result "AbCdEFG" "dE" "AbCdE" "AAAAaaaa" "a" "AAAAaaaa" ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ #1 • "AbCdEFG"์—์„œ "dE"๋Š” ํ•œ ๋ฒˆ ๋“ฑ์žฅํ•˜๋ฉฐ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋‹น ์œ„์น˜๊นŒ์ง€ ์ž˜๋ผ๋‚ด๋ฉด "AbCdE"๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๋ฌธ์ž์—ด์ด "dE"๋กœ ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฌธ์ž์—ด์ด ๋ช‡ ๋ฒˆ ๋“ฑ์žฅํ•˜๋Š”์ง€ ์„ธ๊ธฐ(JavaScript)

๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ž์—ด myString๊ณผ pat์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. myString์—์„œ pat์ด ๋“ฑ์žฅํ•˜๋Š” ํšŸ์ˆ˜๋ฅผ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ 1 ≤ myString ≤ 1000 1 ≤ pat ≤ 10 ์ž…์ถœ๋ ฅ ์˜ˆ myString pat result "banana" "ana" 2 "aaaa" "aa" 3 ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ #1 "banana"์—์„œ 1 ~ 3๋ฒˆ ์ธ๋ฑ์Šค์—์„œ ํ•œ ๋ฒˆ, 3 ~ 5๋ฒˆ ์ธ๋ฑ์Šค์—์„œ ๋˜ ํ•œ ๋ฒˆ "ana"๊ฐ€ ๋“ฑ์žฅํ•ด์„œ ์ด ๋‘ ๋ฒˆ ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 2๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ #2 "aaaa"์—์„œ 0 ~ 2๋ฒˆ ์ธ๋ฑ์Šค์—์„œ ํ•œ ๋ฒˆ, 1 ~ 3๋ฒˆ ์ธ๋ฑ์Šค์—์„œ ํ•œ ๋ฒˆ, 2 ~ 4๋ฒˆ ์ธ๋ฑ์Šค์—์„œ ํ•œ ๋ฒˆ "aa"๊ฐ€ ๋“ฑ์žฅํ•ด์„œ ์ด ์„ธ ๋ฒˆ ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 3์„ re..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋“ฑ์ฐจ์ˆ˜์—ด์˜ ํŠน์ •ํ•œ ํ•ญ๋งŒ ๋”ํ•˜๊ธฐ (JavaScript)

ํ•ญ์ƒ ํ•˜๋˜๋Œ€๋กœ ์ปดํ“จํ„ฐ๋ฅผ ์ผœ์ž๋งˆ์ž ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์›น์‚ฌ์ดํŠธ์— ์ ‘์†ํ•ด์„œ ๊ธฐ์ดˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๋ ค๊ณ  ํ•˜์˜€๋‹ค. ๊ทผ๋ฐ ๋ฌธ์ œ ์ž์ฒด๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๊ฒ ๋Š”๊ฑฐ.. ใ… ใ…  ์ˆ˜ํ•™ ๊ณต๋ถ€ ์•ˆํ•œ์ง€ ๋ฒŒ์จ ๋ช‡๋งŒ์‹œ๊ฐ„์ด ํ๋ฅธ๊ฑฐ ๊ฐ™์€๋ฐ ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ ๋“ฑ์ฐจ์ˆ˜์—ด? ๊ณต์ฐจ? ์ด๋ฆ„์€ ์ต์ˆ™ํ•˜๋‚˜ ๋“ฑ์ฐจ์ˆ˜์—ด์ด ๋ญ์˜€๋Š”์ง€ ๊ธฐ์–ต๋„ ์•ˆ๋‚œ๋‹ค.. ์ด๋Ÿฐ ๋‚˜์™€๊ฐ™์€ ์ƒํ™ฉ์— ๋งˆ์ฃผ์นœ ๋ถ„๋“ค์—๊ฒŒ ๋„์›€์„ ์ฃผ๊ณ ์ž ๊ทธ๋ฆฌ๊ณ  ๋‚˜ ์ž์‹ ๋„ ๊ณต๋ถ€ํ•ด๋ณด๊ธฐ ์œ„ํ•ด ์ด ํฌ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค..! ์ผ๋‹จ ์ œ๋ชฉ๋ถ€ํ„ฐ ๋ถ„์„ ํ•ด๋ณด์ž! "๋“ฑ์ฐจ์ˆ˜์—ด์˜ ํŠน์ •ํ•œ ํ•ญ๋งŒ ๋”ํ•˜๊ธฐ" ๋“ฑ์ฐจ์ˆ˜์—ด์ด๋ž€? 1,3,5,7,9.... ์ฒ˜๋Ÿผ ์—ฐ์†ํ•œ ๋‘ ํ•ญ์˜ ์ฐจ๊ฐ€ ์ผ์ •ํ•œ ์ˆ˜์—ด์„ ๋“ฑ์ฐจ์ˆ˜์—ด์ด๋ผ๊ณ  ํ•จ. ๊ณต์ฐจ๋ž€? ์—ฐ์†ํ•œ ๋‘ ํ•ญ์—์„œ, ๋’ค ํ•ญ์—์„œ ์•ž ํ•ญ์„ ๋บ€ ๊ฐ’์„ ๊ณต์ฐจ(Common difference)๋ผ๊ณ  ํ•จ ์˜ˆ๋ฅผ ๋“ค๋ฉด, 1,3,5,7,9์˜ ๊ณต์ฐจ๋Š” 2 ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ฐ€๊นŒ์šด 1 ์ฐพ๊ธฐ (JavaScript)

๋ฌธ์ œ ์„ค๋ช… ์ •์ˆ˜ ๋ฐฐ์—ด arr๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์ด๋•Œ arr์˜ ์›์†Œ๋Š” 1 ๋˜๋Š” 0์ž…๋‹ˆ๋‹ค. ์ •์ˆ˜ idx๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, idx๋ณด๋‹ค ํฌ๋ฉด์„œ ๋ฐฐ์—ด์˜ ๊ฐ’์ด 1์ธ ๊ฐ€์žฅ ์ž‘์€ ์ธ๋ฑ์Šค๋ฅผ ์ฐพ์•„์„œ ๋ฐ˜ํ™˜ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”. ๋‹จ, ๋งŒ์•ฝ ๊ทธ๋Ÿฌํ•œ ์ธ๋ฑ์Šค๊ฐ€ ์—†๋‹ค๋ฉด -1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ œํ•œ์‚ฌํ•ญ 3 ≤ arr์˜ ๊ธธ์ด ≤ 100'000 arr์˜ ์›์†Œ๋Š” ์ „๋ถ€ 1 ๋˜๋Š” 0์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ arr idx result [0, 0, 0, 1] 1 3 [1, 0, 0, 1, 0, 0] 4 -1 [1, 1, 1, 1, 0] 3 3 ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…' ์ž…์ถœ๋ ฅ ์˜ˆ #1 1๋ณด๋‹ค ํฌ๋ฉด์„œ ์›์†Œ๊ฐ€ 1์ธ ๊ฐ€์žฅ ์ž‘์€ ์ธ๋ฑ์Šค๋Š” 3์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 3์„ return ํ•ฉ๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ #2 4๋ฒˆ ์ธ๋ฑ์Šค ์ดํ›„์— 1์€ ๋“ฑ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ -1์„..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฐฐ์—ด์˜ ์›์†Œ๋งŒํผ ์ถ”๊ฐ€

๋ฌธ์ œ ์„ค๋ช… ์•„๋ฌด ์›์†Œ๋„ ๋“ค์–ด์žˆ์ง€ ์•Š์€ ๋นˆ ๋ฐฐ์—ด X๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์–‘์˜ ์ •์ˆ˜ ๋ฐฐ์—ด `arr`๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, `arr`์˜ ์•ž์—์„œ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ์›์†Œ๋ฅผ ๋ณด๋ฉด์„œ ์›์†Œ๊ฐ€ a๋ผ๋ฉด X์˜ ๋งจ ๋’ค์— a๋ฅผ a๋ฒˆ ์ถ”๊ฐ€ํ•˜๋Š” ์ผ์„ ๋ฐ˜๋ณตํ•œ ๋’ค์˜ ๋ฐฐ์—ด X๋ฅผใ„น return ํ•˜๋Š” solutionํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ 1 ≤ arr์˜ ๊ธธ์ด ≤ 100 1 ≤ arr์˜ ์›์†Œ ≤ 100 ์ž…์ถœ๋ ฅ ์˜ˆ arr result [5, 1, 4] [5, 5, 5, 5, 5, 1, 4, 4, 4, 4] [6, 6] [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6] [1] [1] ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ #1 ์˜ˆ์ œ 1๋ฒˆ์— ๋Œ€ํ•ด์„œ a์™€ X๋ฅผ ๋‚˜ํƒ€๋‚ด๋ณด๋ฉด ๋‹ค์Œ ํ‘œ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. a X [] 5 [5, 5, 5, 5, 5] 1 [5..