개발공부/알고리즘

[Algorithm] 대문자 찾기 (정규식 포함)

J-Plum 2023. 4. 21. 20:10
<html>

<head>
  <meta charset="UTF-8">
  <title>출력결과</title>
</head>
<!-- 대문자 찾기 -->

<body>
  <script>
    let str = "KoreaTimeGood";
    function solution(str) {
      let answer = 0;
      for (let word of str) {
        if (word.charCodeAt() >= 65 && word.charCodeAt() <= 90)  answer++;
      }
      return answer;
    }

    function solution2(str) {
        return str.match(/[A-Z]/g).length;
      }

    console.log(solution2(str));
  </script>
</body>

</html>

charCodeAt()을 이용합니다.

대문자 A~Z까지의 값은 65~90
소문자 a~z의 값은 97~122

 

 


match() 메서드의 정규식 패턴 입니다.

  1. /[A-Z]/ : 대문자 알파벳을 찾습니다.
  2. /[0-9]/ : 숫자를 찾습니다.
  3. /[a-z]/ : 소문자 알파벳을 찾습니다.
  4. /./ : 어떤 문자(줄바꿈 문자 제외)든 일치합니다.
  5. /[a-zA-Z]/ : 대문자 또는 소문자 알파벳을 찾습니다.

match(/[A-Z]/)의 결과값

 

g 플래그를 사용하여 전역 검색을 활성화하면 문자열 내에서 모든 일치 항목을 찾습니다.

'match(/[A-Z]/g);' 는 문자열 전체에서 대문자 알파벳을 찾아 배열로 반환합니다.

배열의 길이가 곧 대문자의 개수가 됩니다.

 

 

어우.. 정규식을 따로 정리를 해야할 것 같습니다..

알고리즘 하면서 매번 정규식 공부를 하는것도... 번거롭네요