๋ฌธ์
๋๋ฌธ์, ์๋ฌธ์๊ฐ ๊ตฌ๋ถ ์์ด ์ฃผ์ด์ง๋ ๋ฌธ์์ด s์์ p์ y์ ๊ฐ์๋ฅผ ๊ตฌํ๊ณ , ๊ฐ์๊ฐ ๋์ผํ๋ฉด true, ์๋๋ฉด false๋ฅผ ๋ฐํํ๋ค. ์ด๋ p์ y๊ฐ ๋ชจ๋ ํ๋๋ ์๋ค๋ฉด ํญ์ true๋ฅผ ๋ฐํํ๋ค. (๊ฐ์ ๋น๊ต ์ ๋์๋ฌธ์ ๊ตฌ๋ถ X)
programmers.co.kr/learn/challenges
์ฝ๋
ํ์ด
str.match(์ ๊ท์)
๋ฉ์๋๋ ์ผ์นํ๋ ์ ๊ท์ ๋ฌธ์๊ฐ ์์ ๋ ์ด๋ฅผ ๋ฐฐ์ด๋ก ๋ฐํํ๋ค. ์์ผ๋ฉด null
์ ๋ฐํํ๋ค. ๋ฌธ์ ์์ p๋ y๊ฐ ํ๋๋ ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ์ ํญ์ true๋ฅผ ๋ฐํํ๋ฏ๋ก, ํจ์์ ์ฒซ ๋ฒ์งธ ๋ถ๊ธฐ์๋ str.match([p|y]/gi) === null
์กฐ๊ฑด์ผ๋ก ๋ถ๊ธฐํด์ค๋ค. ํ๋๋ผ๋i
ํ๋๊ทธ๋ insensitive, ์ฆ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๋๋ค.
else ์ฝ๋ ๋ธ๋ญ์์ ๋ง์ผ p ๋ฌธ์๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด null ๋์ 0์ ๋ฐํํ๋๋ก ํ๊ณ , p๋ฌธ์๊ฐ ์กด์ฌํ๋ฉด ๋ฐฐ์ด์ด๋ฏ๋ก length ๋ฉ์๋๋ก ๊ธธ์ด๋ฅผ ๊ตฌํ๋ค. y ๋ฌธ์์ ๋ํด์๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค. status๋ p์ y์ ๋ฌธ์ ๊ธธ์ด๊ฐ ์ผ์นํ์ง ์์ผ๋ฉด false๋ฅผ ๋ฐํํ๋๋ก ํ๋ค.
๋ค๋ฅธ ํ์ด
๋์ฒด๋ก ์ ๊ท์์ ์ฐ์ง ์์๋ ๋ ์ํฉ์ด๋ผ๋ฉด ์ ์ฐ๋ ๊ฒ ์ฑ๋ฅ ์ ์ด์ ์ด ์๋ค๊ณ ๋ค์๋ค. ๋ค๋ฅธ ํ์ด ์ค ์ ๊ท์์ ์ฐ์ง ์์ ์ฝ๋์ด๋ค. ๋ฌธ์์ด์ toUpperCase()
๋ก ๋ชจ๋ ๋๋ฌธ์๋ก ๋ง๋ค์ด์ค ํ, P ๋ฅผ ๊ตฌ๋ถ์๋ก ๋๋๋ค. Y์ ๋ํด์๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค. (toLowerCase
๋ฅผ ์ฐ๋ toUpperCase
๋ฅผ ์ฐ๋ ๋์ผํ๋ค).
์ด์ฐจํผ ์ ํํ p์ y์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ๊ฒ์ด ์๋๋ฏ๋ก ์ด ๋ฐฉ๋ฒ๋ ์ ํจํ๋ค.