대문자 찾기

아기코딩단2·2022년 7월 26일
0

대문자 찾기
한 개의 문자열을 입력받아 해당 문자열에 알파벳 대문자가 몇 개 있는지 알아내는 프로그램
을 작성하세요.
▣ 입력설명
첫 줄에 문자열이 입력된다. 문자열의 길이는 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를 사용해서 처리해줬다.

이해안되는 코드 부분은 강의를 봐야겠다.

profile
레거시 학살자

0개의 댓글