๐ŸŒˆ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค:Javascript] ๋ฌธ์ž์—ด์ด ๋ช‡ ๋ฒˆ ๋“ฑ์žฅํ•˜๋Š”์ง€ ์„ธ๊ธฐ

Eun_zii 2024. 4. 24. 13:28

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv.0

- ๋ฌธ์ž์—ด์ด ๋ช‡ ๋ฒˆ ๋“ฑ์žฅํ•˜๋Š”์ง€ ์„ธ๊ธฐ

 

๐Ÿ’š ๋ฌธ์ œ์„ค๋ช…

 

๐Ÿ’š ์ œํ•œ์กฐ๊ฑด

  • 1 ≤ myString ≤ 1000
  • 1 ≤ pat ≤ 10

๐Ÿ’š ํ’€์ด

function solution(myString, pat) {
    let answer = 0;
    let index = myString.indexOf(pat);
    while (index !== -1) {
    answer++;
    index = myString.indexOf(pat, index + 1);
    }
    return answer
}

 

โœ… 

pat๊ฐ€ myString์— ๋‚˜ํƒ€๋‚˜๋Š” ํšŸ์ˆ˜๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด answer ๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™” ํ•ด๋‘”ํ›„,

myString์—์„œ pat๊ฐ€ ์ฒ˜์Œ ๋‚˜ํƒ€๋‚˜๋Š” ์ธ๋ฑ์Šค๋ฅผ ์ฐพ๋Š”๋‹ค. ( pat๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์œผ๋ฉด indexOf๋Š” -1์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. )

๐Ÿ’ก indexOf( ) ๋ฉ”์„œ๋“œ๋Š” ํ˜ธ์ถœํ•œ String ๊ฐ์ฒด์—์„œ ์ฃผ์–ด์ง„ ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ผ์น˜ํ•˜๋Š” ๊ฐ’์ด ์—†์œผ๋ฉด -1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

 

index๊ฐ€ -1์ด ์•„๋‹Œ ํ•œ ๊ณ„์†๋˜๋Š” while๋ฌธ์„ ๋ฐ˜๋ณตํ•˜๊ณ , 

answer++ ๋Š” pat๋ฅผ ์ฐพ์œผ๋ฉด answer๋ณ€์ˆ˜๋ฅผ ํ•˜๋‚˜์”ฉ ์ฆ๊ฐ€ํ•˜๊ณ ,

index = myString.indexOf(pat, index + 1)๋Š” myString์—์„œ pat๋ฅผ ์ฐพ๋Š” ์—ญํ• ์„ ํ•˜๋ฉฐ, ๋งˆ์ง€๋ง‰ pat ๋ฐ”๋กœ ๋’ค์˜ ์ธ๋ฑ์Šค์—์„œ ๊ฒ€์ƒ‰์„ ํ•œ๋‹ค.

fromIndex๋กœ index + 1์„ ์„ค์ •ํ•˜๋ฉด ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ฐœ๊ฒฌ๋œ ํ•ญ๋ชฉ ์งํ›„์— ๋‹ค์Œ ํ•ญ๋ชฉ์ธ pat์— ๋Œ€ํ•œ ๊ฒ€์ƒ‰์„ ์‹œ์ž‘ํ•œ๋‹ค.

myString์— pat๊ฐ€ ๋” ์ด์ƒ ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฉด indexOf๋Š” -1์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  while๋ฌธ์€ ์ค‘์ง€๋˜๊ณ , answer๋ฅผ returnํ•œ๋‹ค.

728x90