본문 바로가기

Javascript 코테준비/섹션1

10.문자찾기

문제 

 

한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요. 문자열의 길이는 100을 넘지 않습니다.

 


 

 

 

내가 푼 방법 

 

<html>
  <head>
    <meta charset="UTF-8" />
    <title>출력결과</title>
  </head>
  <body>
    <script>
      function solution(s, t) {
        const regex = new RegExp(`${t}`, "g");
        console.log(regex);
        let answer = s.match(regex).filter((item) => item !== "").length;
        return answer;
      }
      let str = "COMPUTERPROGRAMMING";
      console.log(solution(str, "R"));
    </script>
  </body>
</html>

 

 

✅  match 함수 

 

match 함수를 사용하면 특정 문자를 추출하여 배열로 반환한다.

특정 문자가 없을 경우 빈 배열을 반환하는데 이럴 경우 filter 함수를 사용하여 빈 배열을 제거해야 0을 얻을 수 있다.

filter 함수를 사용하지 않을경우 특정 문자를 찾지 못하면 빈배열 1개를 반환하기 때문에 1을 반환한다.

 

 

 


 

 

 

다른 풀이 

 

<html>
  <head>
    <meta charset="UTF-8" />
    <title>출력결과</title>
  </head>
  <body>
    <script>
      function solution(s, t) {
        let answer = s.split(t).length;
        return answer - 1;
      }

      let str = "COMPUTERPROGRAMMING";
      console.log(solution(str, "R"));
    </script>
  </body>
</html>

 

 

 

'Javascript 코테준비 > 섹션1' 카테고리의 다른 글

12. 대문자로 통일  (0) 2022.09.09
11. 대문자 찾기  (0) 2022.09.09
9. A를 #으로  (0) 2022.09.04
7. 10부제  (0) 2022.09.03
6. 홀수  (0) 2022.09.03