[JavaScript/section 6] 05 - ์‡ ๋ง‰๋Œ€๊ธฐ
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ 05 - ์‡ ๋ง‰๋Œ€๊ธฐ(์Šคํƒ) ์‡ ๋ง‰๋Œ€๊ธฐ์™€ ๋ ˆ์ด์ €์˜ ๋ฐฐ์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ด„ํ˜ธ ํ‘œํ˜„์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ž˜๋ ค์ง„ ์‡ ๋ง‰๋Œ€๊ธฐ ์กฐ๊ฐ์˜ ์ด ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์‡  ๋ง‰๋Œ€๊ธฐ๊ฐ€ ๋ ˆ์ด์ €๋ฅผ ๋งŒ๋‚ ๋•Œ๋งˆ๋‹ค ๋ช‡ ๊ฐœ์˜ ์กฐ๊ฐ์ด ๋ฐœ์ƒํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์กฐ๊ฐ์ด ์ƒ๊ธธ๋•Œ๋งˆ๋‹ค ๋ฐ”๊ตฌ๋‹ˆ์— ๋„ฃ์–ด์ค€๋‹ค๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๋Š”๋ฐ ๋งŽ์€ ๋„์›€์ด ๋œ๋‹ค. ํ’€์ด ๋ฐฉ๋ฒ• for ๋ฌธ์„ ๋Œ๋ฉด์„œ '('๋ฅผ ๋งŒ๋‚˜๋ฉด ๋ฌด์กฐ๊ฑด ์Šคํƒ์— ๋„ฃ๋Š”๋‹ค. ')'๋ฅผ ๋งŒ๋‚˜๋ฉด pop() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ์Šคํƒ์—์„œ ์ž๋ฃŒ๋ฅผ ๊บผ๋‚ด๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ s[i - 1]์˜ ๊ฐ’์ด '('์ด๋ผ๋ฉด ์—ฌ๋Š” ๊ด„ํ˜ธ์™€ ๋‹ซ๋Š” ๊ด„ํ˜ธ์˜ ์ธ์ ‘ํ•œ ์Œ์œผ๋กœ ๋ ˆ์ด์ €์— ํ•ด๋‹นํ•œ๋‹ค. ์Šคํƒ์˜ ๊ธธ์ด๊ฐ€ ์‡ ๋ง‰๋Œ€๊ธฐ์˜ ๊ฐœ์ˆ˜์ด๋ฏ€๋กœ ์Šคํƒ์˜ ๊ธธ์ด๋ฅผ answer ๋ณ€์ˆ˜(๋ฐ”๊ตฌ๋‹ˆ)์— ๋ˆ„์ ์‹œํ‚จ๋‹ค. s[i - 1]์˜ ๊ฐ’์ด ')'์ด๋ผ๋ฉด ์‡ ๋ง‰๋Œ€๊ธฐ์˜ ์˜ค๋ฅธ์ชฝ ๋์„ ๋‚˜ํƒ€๋‚ด๋ฏ€๋กœ answer++์„..
[JavaScript/section 6] 04 - ํ›„์œ„์‹ ์—ฐ์‚ฐ(postfix)
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ 04 - ํ›„์œ„์‹ ์—ฐ์‚ฐ(postfix) ํ›„์œ„์—ฐ์‚ฐ์‹์ด ์ฃผ์–ด์ง€๋ฉด ์—ฐ์‚ฐํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๐Ÿ˜‚ ๋‚˜์˜ ํ’€์ด ๋ฐฉ๋ฒ• ์ฒ˜์Œ์—” ์—ฐ์‚ฐํ•œ ๊ฒฐ๊ณผ๋ฅผ ์Šคํƒ์— ๋„ฃ์ง€ ์•Š๊ณ  answer ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ’€์—ˆ๋‹ค. ํ’€์ด ๊ณผ์ •์—์„œ answer = 0์ผ ๊ฒฝ์šฐ ์—ฐ์‚ฐ์ด ์ด๋ฃจ์–ด์ง„ ์ ์ด ์—†๋‹ค๋Š” ๊ฒƒ์œผ๋กœ ์ƒ๊ฐํ•˜์—ฌ ์—ฐ์‚ฐ์„ ์œ„ํ•ด pop() ํ•จ์ˆ˜๋ฅผ ๋‘ ๋ฒˆ ์ด์šฉํ•ด ๋ฐฐ์—ด์—์„œ ์ž๋ฃŒ๋ฅผ ๊บผ๋‚ธ๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์ด '655-+'์ด ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค๋ฉด ์ฒซ ๋ฒˆ์งธ ์—ฐ์‚ฐ์˜ ๊ฒฐ๊ณผ๊ฐ€ 0์ด ๋‚˜์˜ค๊ธฐ ๋•Œ๋ฌธ์— ์œ„ ํ’€์ด ๋ฐฉ๋ฒ•์ด ์˜ณ์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์—ฐ์‚ฐํ•œ ๊ฒฐ๊ณผ๋ฅผ ์Šคํƒ์— ๋„ฃ๋Š” ๋ฐฉ์‹์œผ๋กœ ํ’€๋ฉด ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ํ’€์ด ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. for ๋ฌธ์„ ๋Œ๋ฉฐ ํ•ด๋‹น ๊ฐ’์ด ์ˆซ์ž์ธ์ง€ ์•„๋‹Œ์ง€ ๊ฒ€์‚ฌํ•œ๋‹ค. ์ด๋Š” isNaN() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค. ์ˆซ์ž๋ผ๋ฉด ..
[JavaScript/section 6] 03 - ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ(์นด์นด์˜ค ๊ธฐ์ถœ)
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ 03 - ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ(์นด์นด์˜ค ๊ธฐ์ถœ) ์ฒ˜์Œ ์ž…๋ ฅ ๊ฐ’์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ์ž˜๋ชปํ•˜์—ฌ ํ’€์ด๊ฐ€ ์™„๋ฒฝํ•˜์ง„ ์•Š์•˜๋‹ค..๐Ÿ˜‚ ๋‹ค์Œ์— 2์ฐจ์› ๋ฐฐ์—ด ๋ฌธ์ œ๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ row, column์— ๋Œ€ํ•œ ์ธ์‹์„ ์ œ๋Œ€๋กœํ•œ ํ›„ ์ฝ”๋“œ๋ฅผ ์งœ๋ฉด ์ด๋Ÿฌํ•œ ์‹ค์ˆ˜๋Š” ๋ง‰์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. ์ง‘๊ฒŒ๋กœ ์ธํ˜•์„ ๋ฝ‘๊ณ  ๋‚œ ์ดํ›„์— ํ•ด๋‹น ๊ฐ’์„ 0(๋นˆ ์นธ์„ ์˜๋ฏธ)์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ๊ฒƒ๋„ ์žŠ์–ด์„œ๋Š” ์•ˆ๋œ๋‹ค. ํ’€์ด ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ํ’€์ด ๋ฐฉ๋ฒ• moves ๋ฐฐ์—ด์„ ์ฐจ๋ก€๋Œ€๋กœ ๋Œ๋ฉฐ ์ง‘๊ฒŒ๊ฐ€ ์œ„์น˜ํ•ด์•ผ ํ•  ๊ณณ(pos)์„ ์ฐพ๋Š”๋‹ค. ์ง‘๊ฒŒ๊ฐ€ ๋‚ด๋ ค์˜ค๋Š” column์— 0(๋นˆ ์นธ)์ด ์•„๋‹Œ ๊ฐ’์ด ์žˆ๋‹ค๋ฉด ์ธํ˜•์„ ๋ฝ‘๊ณ (tmp) ์ธํ˜•์ด ์žˆ๋˜ ์ž๋ฆฌ์˜ ๊ฐ’์„ 0์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. ํ˜„์žฌ ์ง‘๊ฒŒ์˜ ๊ฐ’(tmp)๊ณผ ๋ฐ”๊ตฌ๋‹ˆ ๋งˆ์ง€๋ง‰ ๊ฐ’์ด ๊ฐ™๋‹ค๋ฉด pop() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ๋ฐ”๊ตฌ๋‹ˆ์—์„œ ๊ฐ’์„ ๊บผ๋‚ธ ํ›„ answer += 2๋ฅผ ..
[JavaScript/section 6] 02 - ๊ด„ํ˜ธ๋ฌธ์ž์ œ๊ฑฐ
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ ๋ฌธ์ œ ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด์—์„œ ์†Œ๊ด„ํ˜ธ ( ) ์‚ฌ์ด์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๋‚จ์€ ๋ฌธ์ž๋งŒ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๐Ÿง‘๐Ÿป‍๐Ÿ’ป ๋‚˜์˜ ํ’€์ด ๋ฐฉ๋ฒ• for..of ๋ฌธ์œผ๋กœ ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ๋Œ๋ฉด์„œ '('๊ฐ€ ๋‚˜์˜ค๋ฉด push() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐฐ์—ด์— ์š”์†Œ๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค. ')'๊ฐ€ ๋‚˜์˜ค๋ฉด pop() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐฐ์—ด์—์„œ ์š”์†Œ๋ฅผ ๊บผ๋‚ธ๋‹ค. ๋ฌธ์ž๊ฐ€ ๋‚˜์˜ค๋ฉด ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ํ™•์ธํ•˜๊ณ , ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ 0์ด๋ฉด ๊ด„ํ˜ธ ์‚ฌ์ด์— ์—†๋‹ค๋Š” ๊ฒƒ์ด๋ฏ€๋กœ answer ๋ณ€์ˆ˜์— ๋ฌธ์ž๋ฅผ ๋ˆ„์ ์‹œํ‚จ๋‹ค. ๐Ÿ‘จ๐Ÿผ‍๐Ÿซ ๊ฐ•์‚ฌ๋‹˜ ํ’€์ด ๋ฐฉ๋ฒ• pop() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐฐ์—ด์—์„œ ์š”์†Œ๋ฅผ ๊บผ๋‚ด๋ฉด ๊บผ๋‚ธ ์š”์†Œ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹คโ— for ๋ฌธ์„ ๋Œ๋ฉด์„œ ')'๊ฐ€ ๋‚˜์˜ค๋ฉด while ๋ฌธ์„ ์‚ฌ์šฉํ•ด ์ง๊ฟ์ธ'('์ด ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ ๋ฐฐ์—ด์—์„œ ์š”์†Œ๋ฅผ ๊บผ๋‚ธ๋‹ค. ')'๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด push() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ..
[JavaScript/section 6] 01 - ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ ๋ฌธ์ œ ๊ด„ํ˜ธ๊ฐ€ ์ž…๋ ฅ๋˜๊ณ  ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์ด๋ฉด "YES", ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์œผ๋ฉด "NO"๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. (())() ์ด๊ฒƒ์€ ๊ด„ํ˜ธ์˜ ์Œ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์œ„์น˜ํ•˜๋Š” ๊ฑฐ์ง€๋งŒ, (()()))์€ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ๊ฐ€ ์•„๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ์Šคํƒ์„ ํ™œ์šฉํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. JavaScript์—์„œ ์Šคํƒ์€ ๋ฐฐ์—ด์„ ์ด์šฉํ•ด ๊ตฌํ˜„ํ•˜๋ฉด ๋œ๋‹ค. ์Šคํƒ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” LIFO(Last In First Out) ๊ตฌ์กฐ๋กœ ๋˜์–ด ์žˆ์œผ๋ฉฐ, push(), pop() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋ฃŒ๋ฅผ ๋ฐ€์–ด ๋„ฃ๊ณ  ๊บผ๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ํ”„๋ง๊ธ€์Šค ๊ณผ์ž๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค. ๋งˆ์ง€๋ง‰์— ๋„ฃ์€ ๊ณผ์ž๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ๋จน๊ฒŒ ๋˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์›๋ฆฌ์ด๋‹ค. ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป ๋‚˜์˜ ํ’€์ด ๋ฐฉ๋ฒ• for..of ๋ฌธ์„ ์‚ฌ์šฉํ•ด ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ๋Œ๋ฉฐ '('๋ฅผ ๋งŒ๋‚˜๊ฒŒ ๋˜๋ฉด push() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ์š”์†Œ๋ฅผ ์‚ฝ..
_์„ฑํ˜ธ_
'์Šคํƒ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก