๐Ÿ‘ฉ‍๐Ÿ’ป/JavaScript

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

ํ•œ๋‚˜ 2021. 1. 23. 23:00

๋ฌธ์ œ

๋ฌธ์ž์—ด s์˜ ๊ธธ์ด๊ฐ€ 4 ํ˜น์€ 6์ด๊ณ , ์ˆซ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋ผ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด s๊ฐ€ a234์ด๋ฉด False๋ฅผ ๋ฆฌํ„ดํ•˜๊ณ  1234๋ผ๋ฉด True๋ฅผ ๋ฆฌํ„ดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

(s๋Š” ๊ธธ์ด 1 ์ด์ƒ, ๊ธธ์ด 8 ์ดํ•˜์ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.)

 

์ฝ”๋“œ

 

ํ’€์ด

์šฐ์„  ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด str์˜ ๊ธธ์ด๋ฅผ ํ™•์ธํ•˜๋Š” ์กฐ๊ฑด์„ ๋งŒ๋“ค๊ณ , ๊ฒ€์‚ฌํ•œ๋‹ค.

๊ธธ์ด๊ฐ€ 4 ํ˜น์€ 6์ผ ๋•Œ ๋ฌธ์ž์—ด str์„ split() ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ๊ฐœ๋ณ„ ๋ฌธ์ž ํ•˜๋‚˜๋ฅผ ์›์†Œ๋กœ ํ•˜๋Š” ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ๋‹ค. ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ ์ค‘ ํ•˜๋‚˜์ธ every() ๋ฉ”์†Œ๋“œ๋Š” ์ฒซ ๋ฒˆ์งธ ์ธ์ž์ธ ์กฐ๊ฑด๋ถ€ ํ•จ์ˆ˜์˜ ํ…Œ์ŠคํŠธ๋ฅผ ์›์†Œ๊ฐ€ ๋ชจ๋‘ ํ†ต๊ณผํ•  ์‹œ์— true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์†Œ๋“œ์ด๋‹ค.

 

๋˜ํ•œ, ์›์†Œ ํ•˜๋‚˜๊ฐ€ ์กฐ๊ฑด์— ์ถฉ์กฑ๋˜์ง€ ๋ชปํ–ˆ์„ ๋•Œ๋Š” ๋ฐ”๋กœ ํ•จ์ˆ˜ ์‹คํ–‰์„ ๋ฉˆ์ถ”๋ฏ€๋กœ, ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์ˆœํšŒํ•˜์ง€ ์•Š๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

๊ฐœ๋ณ„ ๋ฌธ์ž ํ•˜๋‚˜๋ฅผ ์˜๋ฏธํ•˜๋Š” el์ด ์œ ํ•œ์ˆ˜์ธ์ง€๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” isFinite() ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•˜๊ณ , ์ธ์ž์—๋Š” + ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด ์ˆซ์ž๋กœ ํ˜•๋ณ€ํ™˜ํ•œ el ์„ ๋„ฃ์–ด์ค€๋‹ค.

 

๋ชจ๋“  ์›์†Œ๊ฐ€ ์œ ํ•œ์ˆ˜, ์ฆ‰ ์ˆซ์ž์ผ ๊ฒฝ์šฐ res์—๋Š” true๊ฐ€ ๋‹ด๊ธธ ๊ฒƒ์ด๊ณ , ๋ณ„๋‹ค๋ฅธ ์—๋Ÿฌ๋ฅผ ๋งŒ๋‚˜์ง€ ์•Š์œผ๋ฉด try block ์€ true๋ฅผ ๋ฐ˜ํ™˜ํ•  ๊ฒƒ์ด๋‹ค.

 

๋ฌธ์ž์—ด์„ ๋ฐฐ์—ด๋กœ ๋ฐ”๊ฟ€ ๋•Œ ์ž์ฃผ ์“ฐ๋Š” split() ํ•จ์ˆ˜๋Š” ๊ตฌ๋ถ„์ž๋ฅผ ๋”ฐ๋กœ ์ฃผ์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋Œ€ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์ž๋ฐ”์—์„œ์˜ toCharArray() ๊ฐ™์€ ํšจ๊ณผ๋ฅผ ๋…ธ๋ฆฐ๋‹ค๋ฉด ๊ผญ split('')์ฒ˜๋Ÿผ ๋”ฐ์˜ดํ‘œ๋ฅผ ์ƒ๋žตํ•˜๋ฉด ์•ˆ ๋œ๋‹ค.

 

์ข€ ๋” ๋„“์€ ๋ฒ”์œ„์˜ ์ˆซ์ž๋ฅผ ๊ฒ€์‚ฌํ•  ๋•Œ๋Š” isNaN() ๋ฉ”์„œ๋“œ๋„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. Not a Number ์˜ ์ค„์ž„๋ง์ด๋ฏ€๋กœ, ์ˆซ์ž๊ฐ€ ์•„๋‹ ๋•Œ true๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.