์ซ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด t
์ p
๊ฐ ์ฃผ์ด์ง ๋, t
์์ p
์ ๊ธธ์ด๊ฐ ๊ฐ์ ๋ถ๋ถ๋ฌธ์์ด ์ค์์, ์ด ๋ถ๋ถ๋ฌธ์์ด์ด ๋ํ๋ด๋ ์๊ฐ p
๊ฐ ๋ํ๋ด๋ ์๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๊ฒ์ด ๋์ค๋ ํ์๋ฅผ returnํ๋ ํจ์ solution์ ์์ฑํ์ธ์.
์๋ฅผ ๋ค์ด, t
="3141592"์ด๊ณ p
="271" ์ธ ๊ฒฝ์ฐ, t
์ ๊ธธ์ด๊ฐ 3์ธ ๋ถ๋ถ ๋ฌธ์์ด์ 314, 141, 415, 159, 592์
๋๋ค. ์ด ๋ฌธ์์ด์ด ๋ํ๋ด๋ ์ ์ค 271๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์๋ 141, 159 2๊ฐ ์
๋๋ค.
p
์ ๊ธธ์ด โค 18p
์ ๊ธธ์ด โค t
์ ๊ธธ์ด โค 10,000t
์ p
๋ ์ซ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ด๋ฉฐ, 0์ผ๋ก ์์ํ์ง ์์ต๋๋ค.t | p | result |
---|---|---|
"3141592" | "271" | 2 |
"500220839878" | "7" | 8 |
"10203" | "15" | 3 |
์ ์ถ๋ ฅ ์ #1
์ ์ถ๋ ฅ ์ #2
p
์ ๊ธธ์ด๊ฐ 1์ด๋ฏ๋ก t
์ ๋ถ๋ถ๋ฌธ์์ด์ "5", "0", 0", "2", "2", "0", "8", "3", "9", "8", "7", "8"์ด๋ฉฐ ์ด์ค 7๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ซ์๋ "5", "0", "0", "2", "2", "0", "3", "7" ์ด๋ ๊ฒ 8๊ฐ๊ฐ ์์ต๋๋ค.์ ์ถ๋ ฅ ์ #3
p
์ ๊ธธ์ด๊ฐ 2์ด๋ฏ๋ก t
์ ๋ถ๋ถ๋ฌธ์์ด์ "10", "02", "20", "03"์ด๋ฉฐ, ์ด์ค 15๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ซ์๋ "10", "02", "03" ์ด๋ ๊ฒ 3๊ฐ์
๋๋ค. "02"์ "03"์ ๊ฐ๊ฐ 2, 3์ ํด๋นํ๋ค๋ ์ ์ ์ฃผ์ํ์ธ์function solution(t, p) {
// t ๋ฌธ์์ด ์ํ
return [...t].map((a, i, origin) => {
// t ๋ฌธ์์ด์ p ๋ฌธ์์ด์ ๊ธธ์ด๋ก ์๋ฅด๊ธฐ
const curStr = origin.slice(i, i+p.length)
if(curStr.length === p.length) {
// ๋ฌธ์์ด์ ๊ฐ์ด p ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๊ฒฝ์ฐ์ธ๊ฐ?
return Number(curStr.join("")) <= Number(p)
}
// t ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ p์ ๋ค๋ฅด๋ค๋ฉด null ๋ฐํ
return null
}).reduce((acc, cur, idx) => cur ? acc+1 : acc , 0)
}