개발공부/알고리즘
[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() 메서드의 정규식 패턴 입니다.
- /[A-Z]/ : 대문자 알파벳을 찾습니다.
- /[0-9]/ : 숫자를 찾습니다.
- /[a-z]/ : 소문자 알파벳을 찾습니다.
- /./ : 어떤 문자(줄바꿈 문자 제외)든 일치합니다.
- /[a-zA-Z]/ : 대문자 또는 소문자 알파벳을 찾습니다.
g 플래그를 사용하여 전역 검색을 활성화하면 문자열 내에서 모든 일치 항목을 찾습니다.
'match(/[A-Z]/g);' 는 문자열 전체에서 대문자 알파벳을 찾아 배열로 반환합니다.
배열의 길이가 곧 대문자의 개수가 됩니다.
어우.. 정규식을 따로 정리를 해야할 것 같습니다..
알고리즘 하면서 매번 정규식 공부를 하는것도... 번거롭네요