JS 알고리즘 문제풀이/섹션 1. 기본문제 풀이

13.대소문자변환

crab. 2022. 1. 12. 11:32

📌강의정리

문자 하나하나를 탐색하면서 했는데 원래는 대소문자로 변환하려면 그냥

toUpperCase()를 쓰면 한번에 끝나는 데 하나하나를 탐색했던이유는 이 문제처럼 문자하나하나를 변환하게 하는 코딩테스트 문제가 나오기 때문이다.

for(let x of s)로 하나하나 탐색을 한다.

그다음 if(x === x.toUppercase())로 대문자인지 확인이 가능하다.

맞다면 toLowerCase()로 소문자로 바꿔주고 아니라면 else로 대문자로 바꿔주면 된다.

📌느낀점

자꾸 대소문자 변환에서 익숙한 아스키코드를 사용하는것 같다.

코드의 길이는 어퍼케이스를 쓰는게 이득이므로 어퍼케이스를 쓸 수 있도록 의식적으로 연습해야겠다.

//나의 코드
<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과</title>
    </head>
    <body>
        <script>
            function solution(s){  
                let answer="";
                for(let x of s){
                    let num = x.charCodeAt()
                    if(num>=65 && num <=90) num+=32;
                    else num-=32;
                    answer+=(String.fromCharCode(num));
                }
                return answer;
            }
            console.log(solution("StuDY"));
        </script>
    </body>
</html>
//강사님 코드
<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과</title>
    </head>
    <body>
        <script>
            function solution(s){  
                let answer="";
                for(let x of s){
                    if(x===x.toUpperCase()) answer+=x.toLowerCase();
                    else answer+=x.toUpperCase();
                }
                return answer;
            }

            console.log(solution("StuDY"));
        </script>
    </body>
</html>

'JS 알고리즘 문제풀이 > 섹션 1. 기본문제 풀이' 카테고리의 다른 글

15.가운데 문자 출력(substring, substr)  (0) 2022.01.12
14.가장 긴 문자열  (0) 2022.01.12
12.대문자로 통일  (0) 2022.01.12
11.대문자 찾기  (0) 2022.01.12
10.문자 찾기  (0) 2022.01.11