๐Ÿ‘ฉ‍๐Ÿ’ป 93

[Programmers] ํ•ธ๋“œํฐ ๋ฒˆํ˜ธ์˜ ํŠน์ • ๋ฒ”์œ„๋ฅผ ๋งˆ์Šคํ‚นํ•˜๊ธฐ (JavaScript/์ •๊ทœ์‹)

๋ฌธ์ œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ชจ๋ฐ”์ผ์€ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ์œ„ํ•ด ๊ณ ์ง€์„œ๋ฅผ ๋ณด๋‚ผ ๋•Œ ๊ณ ๊ฐ๋“ค์˜ ์ „ํ™”๋ฒˆํ˜ธ์˜ ์ผ๋ถ€๋ฅผ ๊ฐ€๋ฆฝ๋‹ˆ๋‹ค. ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ ๋ฌธ์ž์—ด phone_number๋กœ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ „ํ™”๋ฒˆํ˜ธ์˜ ๋’ท 4์ž๋ฆฌ๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ์ˆซ์ž๋ฅผ ์ „๋ถ€ *์œผ๋กœ ๊ฐ€๋ฆฐ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์ฝ”๋“œ ํ’€์ด replace ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์ •๊ทœ์‹ ํŒจํ„ด์„ ์ฒซ ๋ฒˆ์งธ ์ธ์ž๋กœ ๋„ฃ๊ณ , ๋งˆ์Šคํ‚นํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ž๋ฅผ ๋‘ ๋ฒˆ์งธ ์ธ์ž๋กœ ๋„ฃ์–ด์ค€๋‹ค. ?= : lookahead. ์ „๋ฐฉ ํƒ์ƒ‰์„ ์œ„ํ•œ ํŒจํ„ด์ด๋‹ค. ?= ์ด ๋‹ค์Œ์— ์˜ค๋Š” ๋ฌธ์ž๊ฐ€ ์ผ์น˜ํ•˜๋Š” ์˜์—ญ์—์„œ ์ œ์™ธ๋œ๋‹ค. ๋˜ํ•œ, ์ „๋ฐฉ ํƒ์ƒ‰์€ ํ•˜์œ„ ํ‘œํ˜„์‹์ฒ˜๋Ÿผ ์†Œ๊ด„ํ˜ธ๋กœ ๊ฐ์‹ธ์ค€๋‹ค. .+(?=:) ์˜ ๊ฒฝ์šฐ http://www.abc.com https://www.abc.com http://www.abc.co.kr ์œ„..

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

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

[Programmers] JavaScript ์‹คํŒจ์œจ ๊ตฌํ•˜๊ธฐ / ์˜ˆ์‚ฐ ๋ฌธ์ œ

๋ฌธ์ œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2019 KAKAO BLIND RECRUITMENT ์‹คํŒจ์œจ ๋ฌธ์ œ ์‹คํŒจ์œจ์€ ์Šคํ…Œ์ด์ง€์— ๋„๋‹ฌํ–ˆ์œผ๋‚˜ ์•„์ง ํด๋ฆฌ์–ดํ•˜์ง€ ๋ชปํ•œ ํ”Œ๋ ˆ์ด์–ด์˜ ์ˆ˜ / ์Šคํ…Œ์ด์ง€์— ๋„๋‹ฌํ•œ ํ”Œ๋ ˆ์ด์–ด ์ˆ˜๋กœ ์ •์˜ํ•œ๋‹ค. ์ „์ฒด ์Šคํ…Œ์ด์ง€์˜ ๊ฐœ์ˆ˜ N, ๊ฒŒ์ž„์„ ์ด์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ํ˜„์žฌ ๋ฉˆ์ถฐ์žˆ๋Š” ์Šคํ…Œ์ด์ง€์˜ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด stages๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์‹คํŒจ์œจ์ด ๋†’์€ ์Šคํ…Œ์ด์ง€๋ถ€ํ„ฐ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์Šคํ…Œ์ด์ง€์˜ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ด๊ฒจ์žˆ๋Š” ๋ฐฐ์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•˜๋ผ. ์ œํ•œ ์‚ฌํ•ญ ์Šคํ…Œ์ด์ง€์˜ ๊ฐœ์ˆ˜ N์€ 1 ์ด์ƒ 500 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค. stages์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 200,000 ์ดํ•˜์ด๋‹ค. stages์—๋Š” 1 ์ด์ƒ N + 1 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ๋‹ด๊ฒจ์žˆ๋‹ค. ๊ฐ ์ž์—ฐ์ˆ˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ํ˜„์žฌ ๋„์ „ ์ค‘์ธ ์Šคํ…Œ์ด์ง€์˜ ๋ฒˆํ˜ธ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋‹จ, ..

[Vue.js/TypeScript] Property "$anime" does not exist on type "Header"

๋ฌธ์ œ ์ƒํ™ฉ SVG ์• ๋‹ˆ๋ฉ”์ด์…˜ ์—ฐ์Šต์„ ์œ„ํ•ด์„œ TypeScript๋ฅผ ์ ์šฉ ์ค‘์ธ Vue.js์— anime.js๋ฅผ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•˜๋‹ค. ์•„๋ž˜์ฒ˜๋Ÿผ ๋‹ฌ ๋ชจ์–‘ SVG ๊ทธ๋ž˜ํ”ฝ์„ ์ด์šฉํ•ด ํด๋ฆญ ์‹œ ๊ฐ€๋ฒผ์šด ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ณผ์ •์—์„œ ์ž๊พธ ์•„๋ž˜ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋‹ค. Property '$anime' does not exist on type 'CombinedVueInstance

[Programmers] JavaScript์—์„œ ๊ฐ€์šด๋ฐ ๊ธ€์ž ๊ฐ€์ ธ์˜ค๊ธฐ (+Java)

๋ฌธ์ œ ๋‹จ์–ด s์˜ ๊ฐ€์šด๋ฐ ๊ธ€์ž๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ๋งŒ๋“ค์–ด ๋ณด์„ธ์š”. ๋‹จ์–ด์˜ ๊ธธ์ด๊ฐ€ ์ง์ˆ˜๋ผ๋ฉด ๊ฐ€์šด๋ฐ ๋‘๊ธ€์ž๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ์˜ ์˜ˆ "abcde" -> "c" "qwer" -> "we" ์ฝ”๋“œ ํ’€์ด % ์—ฐ์‚ฐ์ž๋Š” ๋‚˜๋ˆ—์…ˆ ์—ฐ์‚ฐ ํ›„ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•œ๋‹ค. 2๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ๋‚˜๋จธ์ง€ ๊ธธ์ด๊ฐ€ 0์ด๋ผ๋ฉด, ์ฃผ์–ด์ง„ ๋‹จ์–ด์˜ ๊ธธ์ด๋Š” ์ง์ˆ˜์ด๋‹ค. ๋ฌธ์ž์—ด์€ ์ฝ๊ธฐ ์ „์šฉ ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์ทจ๊ธ‰๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด ํŠน์ • ์œ„์น˜์˜ ๋ฌธ์ž๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ ์ „์ฒด ๋ฌธ์ž์—ด ๊ธธ์ด๋ฅผ 2๋กœ ๋‚˜๋ˆˆ ํ›„, Math.floor() ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•ด, ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋ฒ„๋ฆฐ๋‹ค. (๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋Š” ํ•ญ์ƒ ์ •์ˆ˜์ด๋‹ค) ์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋ฅผ ์จ์„œ ๋ฌธ์ž์—ด ๊ธธ์ด๊ฐ€ ์ง์ˆ˜์ธ ๊ฒฝ์šฐ์—๋Š” ๊ตฌํ•œ ์ธ๋ฑ์Šค-1 ์˜ ์œ„์น˜๋ฅผ ๋”ํ•œ ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค. ๋ฌธ์ž์—ด์„ ์ž๋ฅด๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ฉ”์†Œ..

[Programmers] Java์—์„œ ๋ฌธ์ž์—ด ๋‹ค๋ฃจ๊ธฐ ๊ธฐ๋ณธ (์ˆซ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด ์ฒดํฌํ•˜๊ธฐ)

๋ฌธ์ œ ๋ฌธ์ž์—ด s์˜ ๊ธธ์ด๊ฐ€ 4 ํ˜น์€ 6์ด๊ณ , ์ˆซ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋ผ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด s๊ฐ€ a234์ด๋ฉด False๋ฅผ ๋ฆฌํ„ดํ•˜๊ณ  1234๋ผ๋ฉด True๋ฅผ ๋ฆฌํ„ดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. (s๋Š” ๊ธธ์ด 1 ์ด์ƒ, ๊ธธ์ด 8 ์ดํ•˜์ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.) ์ฝ”๋“œ ํ’€์ด uiyoji-journal.tistory.com/49 [Programmers] JavaScript์—์„œ ๋ฌธ์ž์—ด ๋‹ค๋ฃจ๊ธฐ ๊ธฐ๋ณธ (์ˆซ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด ์ฒดํฌํ•˜๊ธฐ) ๋ฌธ์ œ ๋ฌธ์ž์—ด s์˜ ๊ธธ์ด๊ฐ€ 4 ํ˜น์€ 6์ด๊ณ , ์ˆซ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋ผ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด s๊ฐ€ a234์ด๋ฉด False๋ฅผ ๋ฆฌํ„ดํ•˜๊ณ  1234๋ผ๋ฉด True๋ฅผ ๋ฆฌํ„ดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. (s๋Š” ๊ธธ์ด 1 ์ด์ƒ, ๊ธธ uiyoji-journal.tistory.com ์ž๋ฐ”..

[Programmers] JavaScript์—์„œ ๋ฌธ์ž์—ด ๋‹ค๋ฃจ๊ธฐ ๊ธฐ๋ณธ (์ˆซ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด ์ฒดํฌํ•˜๊ธฐ)

๋ฌธ์ œ ๋ฌธ์ž์—ด s์˜ ๊ธธ์ด๊ฐ€ 4 ํ˜น์€ 6์ด๊ณ , ์ˆซ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋ผ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด s๊ฐ€ a234์ด๋ฉด False๋ฅผ ๋ฆฌํ„ดํ•˜๊ณ  1234๋ผ๋ฉด True๋ฅผ ๋ฆฌํ„ดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. (s๋Š” ๊ธธ์ด 1 ์ด์ƒ, ๊ธธ์ด 8 ์ดํ•˜์ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.) ์ฝ”๋“œ ํ’€์ด ์šฐ์„  ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด str์˜ ๊ธธ์ด๋ฅผ ํ™•์ธํ•˜๋Š” ์กฐ๊ฑด์„ ๋งŒ๋“ค๊ณ , ๊ฒ€์‚ฌํ•œ๋‹ค. ๊ธธ์ด๊ฐ€ 4 ํ˜น์€ 6์ผ ๋•Œ ๋ฌธ์ž์—ด str์„ split() ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ๊ฐœ๋ณ„ ๋ฌธ์ž ํ•˜๋‚˜๋ฅผ ์›์†Œ๋กœ ํ•˜๋Š” ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ๋‹ค. ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ ์ค‘ ํ•˜๋‚˜์ธ every() ๋ฉ”์†Œ๋“œ๋Š” ์ฒซ ๋ฒˆ์งธ ์ธ์ž์ธ ์กฐ๊ฑด๋ถ€ ํ•จ์ˆ˜์˜ ํ…Œ์ŠคํŠธ๋ฅผ ์›์†Œ๊ฐ€ ๋ชจ๋‘ ํ†ต๊ณผํ•  ์‹œ์— true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์†Œ๋“œ์ด๋‹ค. ๋˜ํ•œ, ์›์†Œ ํ•˜๋‚˜๊ฐ€ ์กฐ๊ฑด์— ์ถฉ์กฑ๋˜์ง€ ๋ชปํ–ˆ์„ ๋•Œ๋Š” ๋ฐ”๋กœ ํ•จ์ˆ˜ ์‹คํ–‰์„ ๋ฉˆ์ถ”๋ฏ€๋กœ, ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์ˆœํšŒํ•˜์ง€ ์•Š๋Š” ์žฅ์ ์ด ..

[GitHub Gist] ๋ธ”๋กœ๊ทธ์— ๊ฐ„๋‹จํ•œ Code Snippet ๊ณต์œ ํ•˜๊ธฐ

๋ธ”๋กœ๊ทธ์— ๊ธ€์„ ๋ฐœํ–‰ํ•˜๊ธฐ ์ „ ํฌ์ŠคํŠธ์˜ ์ดˆ์•ˆ์„ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜, ๊ฐ•์˜๋ฅผ ๋“ฃ๋Š” ๊ณผ์ •์—์„œ ๋…ธํŠธ ํ•„๊ธฐ๋ฅผ ํ•˜๊ฑฐ๋‚˜ ํ•  ๋•Œ๋Š” ๋…ธ์…˜์„ ์ž์ฃผ ์‚ฌ์šฉํ•œ๋‹ค. ์“ด ๋…ธํŠธ๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก ์—„์ฒญ ๋ฌด๊ฑฐ์›Œ์ง€์ง€๋งŒ ๋ฌด๊ฒ๊ณ  ๋Š๋ฆฐ ๋ฐ˜์‘ ์†๋„๋ฅผ ๊ฐ์•ˆํ•˜๊ณ ์„œ๋ผ๋„ ๋…ธ์…˜์ด ์ œ๊ณตํ•˜๋Š” ์žฅ์ ์„ ์•„์ง ๋ฒ„๋ฆฌ์ง„ ๋ชปํ•˜๊ฒ ๋‹ค. ํŠนํžˆ ๋‹ค์–‘ํ•œ ํ™•์žฅ์ž๋ฅผ ์ง€์›ํ•˜๋Š” ์ฝ”๋“œ ๋ธ”๋Ÿญ์˜ ๊ฒฝ์šฐ, ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ผ์ด ๋งŽ์€ ๋‚˜์—๊ฒŒ๋Š” ๊ฐ€์žฅ ํฐ ์žฅ์ ์ธ๋ฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๋ธ”๋กœ๊ทธ๋Š” ์ œ๊ณตํ•˜๋Š” ํ™•์žฅ์ž๊ฐ€ ์ ์–ด ์•„์‰ฌ์›€์ด ๋งŽ์•˜๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ์˜ˆ์˜์ง€๋„ ์•Š๊ณ , ์ˆ˜์ •๋„ ์–ด๋ ต๋‹ค. ๋งŽ์€ ๋ธ”๋กœ๊ทธ์—์„œ ์ด๋ฏธ Github Gist๋ฅผ ์‚ฌ์šฉํ•ด code snippet์„ ์˜ฌ๋ฆฌ๊ธธ๋ž˜ ํ•œ ๋ฒˆ ์‹œ๋„ํ•ด๋ดค๋Š”๋ฐ, ์ˆ˜์‹ญ ๋ถ„ ์•ˆ์— ์ต์ˆ™ํ•˜๊ฒŒ ์“ธ ์ˆ˜ ์žˆ์„ ๋งŒํผ ๊ฐ„๋‹จํ–ˆ๋‹ค. Github ๊ณ„์ •์ด ์žˆ๋‹ค๋ฉด ๋ณ„๋‹ค๋ฅธ ๊ฐ€์ž… ์ ˆ์ฐจ ์—†์ด ๋ฐ”๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. gist.github.co..

[Programmers] JavaScript์—์„œ ๋ฌธ์ž์—ด์„ ์ •์ˆ˜๋กœ ๋ฐ”๊พธ๊ธฐ

๋ฌธ์ œ ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด ์ž…๋ ฅ๊ฐ’์„ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ ํ•ด ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์กฐ๊ฑด 1. ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 5 ์ดํ•˜ 2. ๋ฌธ์ž์—ด์˜ ๊ฐ€์žฅ ์•ž์—๋Š” ๋ถ€ํ˜ธ(+ ๋˜๋Š” -)๊ฐ€ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. 3. ๋ฌธ์ž์—ด์€ ๋ถ€ํ˜ธ์™€ ์ˆซ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. 4. ๋ฌธ์ž์—ด์€ "0"์œผ๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ฝ”๋“œ ํ’€์ด Java์˜ ๊ฒฝ์šฐ๋ผ๋ฉด, ๋ฌธ์ž์—ด.contains๋ฅผ ์จ์„œ ํŠน์ • ํŒจํ„ด์ด ๋ฌธ์ž์—ด ๋‚ด ์žˆ๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๊ณ  boolean ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์“ธ ์ˆ˜ ์žˆ์ง€๋งŒ, JavaScript์—๋Š” ํ•ด๋‹น ํ•จ์ˆ˜๊ฐ€ ์—†๋‹ค. ๋Œ€์‹ , indexOf ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ํŠน์ • ํŒจํ„ด์„ ๊ฒ€์‚ฌํ•˜๊ณ , ํ•ด๋‹น ํŒจํ„ด์ด ์กด์žฌํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ -1๋ฅผ ๋ฐ›๋Š”๋‹ค. indexOf๋Š” ์ฒซ ๋ฒˆ์งธ ์ธ์ž๋กœ ๊ฒ€์‚ฌํ•˜๊ณ ์ž ํ•˜๋Š” ํŒจํ„ด์„ ์ž…๋ ฅํ•˜๊ณ , ๋‘ ๋ฒˆ์งธ ์ธ์ž(optional)๋กœ๋Š” ์–ด๋Š ๋ฒ”์œ„๋ถ€ํ„ฐ ๊ฒ€์‚ฌํ• ์ง€, ์ฆ‰ starting point..

Vue ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ์—์„œ ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ Event prevent : .stop modifier

{{ todo.title }} todo-list ์ปจํ…Œ์ด๋„ˆ ์—ญํ• ์„ ํ•˜๋Š” ํƒœ๊ทธ๊ฐ€ ์žˆ๊ณ , ์•„๋ž˜์— todo-list item๋“ค์ด v-for ๋ฅผ ๋„๋Š” ํ˜•ํƒœ์ด๋‹ค. ํ•˜๋‚˜์˜ todo ์•„์ดํ…œ์€ todo ํƒ€์ดํ‹€ ์—ญํ• ์„ ํ•˜๋Š” ํƒœ๊ทธ์™€ ๋ฒ„ํŠผ๋ถ€ ์—ญํ• ์„ ํ•˜๋Š” ํƒœ๊ทธ ๋‘˜๋กœ ๋˜ ๋‚˜๋‰˜๋Š”๋ฐ, ์ด๋•Œ ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์ธ for ๋ฌธ์˜ ์— checkDone()์ด๋ผ๋Š” ํ•จ์ˆ˜๊ฐ€ ๊ฑธ๋ ค ์žˆ๋‹ค. ํ•ด๋‹น ํ•จ์ˆ˜๋Š” ํด๋ฆญ ์‹œ ์ƒํƒœ๊ฐ’์„ ํ† ๊ธ€ํ•ด์ฃผ์–ด ํ•˜์œ„ ํƒœ๊ทธ์˜ ํด๋ž˜์Šค๋ฅผ ๋ถ™์ด๊ณ  ๋–ผ์–ด์ฃผ๋Š” ์—ญํ• ์„ ๋„์™€์ฃผ๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ ๋ฒ„ํŠผ ๋ถ€๋Š” ๋‹ค๋ฅธ ์ด๋ฒคํŠธ๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋ฏ€๋กœ, ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์˜ event๋ฅผ prevent ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์ด๋•Œ์—๋Š” ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์˜ ์ด๋ฒคํŠธ๋ฅผ fireํ•˜์ง€ ๋ง์•„์•ผ ํ• , ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋˜์–ด์•ผ ํ•˜๋Š” ํ•จ์ˆ˜์— .stop modifier๋ฅผ ๋ถ™์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ์†๋ณผ ์ˆ˜ ์žˆ๋‹ค..