본문으로 바로가기

programmers. JadenCase 문자열 만들기

category Algorithm/문제 2021. 6. 20. 13:42

문제

링크

 

코딩테스트 연습 - JadenCase 문자열 만들기

JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건

programmers.co.kr

풀이

공백을 기준으로 문자를 나눈 뒤에 첫 문자를 대문자로 만들고 그 외의 나머지 문자들은 모두 소문자로 처리한다

첫 문자가 숫자인 경우 숫자는 대문자가 없기 때문에 그대로 두고 나머지 문자는 소문자로 변형

코드

    function solution(s) {
        var answer = '';

        const arr = s.split(' ');

        answer = transJC(arr).join(' ');

        return answer;
    }

    function transJC(arr){
        return arr.map(v=>{
            const str = v.toLowerCase();
            if(str[0]) return changeFirstChar(str[0],str);
            return str;
        });
    }
    function changeFirstChar(char, str){
        return char.toUpperCase()+str.slice(1);
    }

if(str[0])

이 조건문을 안넣었다가 무수한 에러를 받았는데

단어와 단어 사이에 공백()이 하나만 있는게 아니라 여러개가 들어오는 케이스가 있는 것 같다

그래서 공백이라면 아무 가공도 하지않고 리턴하는 조건문

changeFirstChar

첫 문자와 문자열을 받아서

첫 문자를 대문자로 만들고, 첫 문자를 제외한 문자열을 합쳐주는 함수