Programmers - JadenCase 만들기

Doodream·2021년 4월 2일
0

코딩테스트

목록 보기
15/22
post-thumbnail

💻 JadenCase 만들기


❓ 문제

https://programmers.co.kr/learn/courses/30/lessons/12951

✔️ 코드

function solution(s) {
    s = s.toLowerCase();
    s = s.split(" ");


    for (let i = 0; i < s.length; i++) {
        var firstAsciNum = s[i].charCodeAt(0);
        if (firstAsciNum >= 97 && firstAsciNum <= 122) {
            s[i] = s[i].split('');
            s[i][0] = String.fromCharCode(firstAsciNum - 32);
            s[i] = s[i].join('');
        }
    }

    var answer = s.join(' ');
    return answer;
}

var s = "3people unFollowed me";
console.log(solution(s));

❗️풀이과정

문제를 보면 문자열이 주어지고 각 문자열의 단어의 맨 앞자리만 대문자가 되게 하고 나머지 문자열은 모두 소문자로 만들라는 것이다.

그렇다면 주어진 문자열을 모두 소문자로 만든다음 각 단어별 맨 앞자리가 소문자라면 대문자로 만들어주면 된다.

배운점

  • string.toUpperCase() : string의 모든 문자를 대문자로 만들어주지만 string 자체를 바꾸지는 않고 결과물만 반환한다. 따라서 string 자체를 대문자로 바꾸고 싶다면 string = string.toUpperCase() 라고 해줘야한다.

  • 아스키코드 값을 굳이 외울필요는 없으나 문자열의 몇번째 숫자를 아스키코드로 바꾸는지, 아스키코드값을 문자열로 바꾸는 과정은 알아야한다.

    • String.fromCharCode(asciNumber) : 아스키숫자에 해당하는 문자열을 반환한다.
    • string.charCodeAt(index) : string 의 index 번째에 있는 문자열의 아스키 코드 값을 반환한다.
profile
일상을 기록하는 삶을 사는 개발자 ✒️ #front_end 💻

0개의 댓글