본문 바로가기
Algorithm/JavaScript

[basics] 대문자 통일

by _sweep 2021. 12. 5.

자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다.

 

 

 

 

📋 문제

대문자와 소문자가 같이 존재하는 문자열을 입력받아 모든 문자를 대문자로 바꾼 후 바뀐 문자열을 출력한다.

 

 

👉 입력

길이가 100을 넘지 않는 문자열이 입력된다.

 

 

👈 출력

대문자로 통일된 문자열을 출력한다.

 

 

💡 사용된 개념

String.fromCharCode()

인자로 주어진 유니코드(UTF-16)들로부터 문자열을 생성해 반환한다.

 

 

📝 풀이

 

<script>
    function solution(s) {
        let answer = "";
        for (const a of s) {
            answer += a.toUpperCase();
        }

        return answer;
    }

    let str = "ItisTimeToStudy";
    console.log(solution(str));
</script>

 

주어진 문자열의 각 문자들을 순회하며 빈 문자열인 answer에 해당 문자의 대문자를 추가해나간다.

 

다른 방법으로는 String.fromCharCode()를 사용하는 방법이 있다.

 

<script>
    function solution(s) {
        let answer = "";
        for (const a of s) {
            if (a.charCodeAt() >= 97 && a.charCodeAt() <= 122) {
                answer += String.fromCharCode(a.charCodeAt() - 32);
            }
            else answer += a;
        }

        return answer;
    }

    let str = "ItisTimeToStudy";
    console.log(solution(str));
</script>

 

주어진 문자열의 문자들을 순회한다.

만약 해당 문자가 소문자라면(해당 문자의 chatCodeAt() 값이 97 ~ 122) String.fromCharCode()를 이용하여 해당 문자의 대문자에 해당하는 유니코드 값을 넣어 그 값을 빈 문자열 answer에 추가해준다.

조건에 걸리지 않으면 이미 대문자이므로 그냥 answer에 문자를 추가한다.

 

'a'.charCodeAt() 값이 97이고 'A'.charCodeAt()이 65이므로 둘의 차이는 32임을 이용한 것이다.

 

 

 

 

'Algorithm > JavaScript' 카테고리의 다른 글

[basics] 대소문자 변환  (0) 2021.12.06
[basics] 가장 긴 문자열  (0) 2021.12.06
[basics] 대문자 찾기  (0) 2021.12.05
[basics] 문자 찾기  (0) 2021.12.05
[basics] A를 #으로  (0) 2021.12.05

댓글