대문자 찾기
한 개의 문자열을 입력받아 해당 문자열에 알파벳 대문자가 몇 개 있는지 알아내는 프로그램
을 작성하세요.
▣ 입력설명
첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않습니다.
▣ 출력설명
첫 줄에 대문자의 개수를 출력한다.
▣ 입력예제 1
KoreaTimeGood
▣ 출력예제 1
3
<!--my solution-->
<html>
<head>
<meta charset="UTF-8">
<title>출력결과 - 섹션1-11 - 대문자 찾기</title>
</head>
<body>
<script>
function solution(str) {
//주어지는 거 문자열
// 찾아야하는 거 대문자의 개수
// 배열 탐색 for문
let answer = 0;
// 초기값 0할당 안하면 NaN 뜸
// let rexExp = /^[A-Z]+$/;
// 정규식으로 하는 방법이 있을 텐데....
for (element of str) {
if(element === element.toUpperCase())
answer++;
} return answer;
}
const str = "BnNANa";
console.log(solution(str))
</script>
</body>
</html>
아무튼 잘 나오긴 하는데.. 정규식 사용해서 풀어보고싶다.
toUpperCase 를 알았는데 증감연산자에 대해서 이해가 부족했다. for 문과 if문에 대한 전반적인 이해부족
그리고 대문자로 바꿔줄 때마다 ++해주면 됨
전처럼 배열 사용해서 안푼부분은 굿
<!--teacher's solution-->
<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(s){
let answer=0;
for(let x of s){
//let num=x.charCodeAt();
//if(num>=65 && num<=90) answer++;
if(x===x.toUpperCase()) answer++;
}
return answer;
}
let str="KoreaTimeGood";
console.log(solution(str));
</script>
</body>
</html>
이해 못하는 코드 부분
let num=x.charCodeAt();
if(num>=65 && num<=90) answer++;
==> 이 두가지 주석 처리된 부분에 대해서 이해 모샣ㅆ음
공통점 toUpperCase를 사용해서 처리해줬다.
이해안되는 코드 부분은 강의를 봐야겠다.