Bleeding edge

[LeetCode] 2129. Capitalize the Title - 자바스크립트 0627 본문

코딩테스트 공부

[LeetCode] 2129. Capitalize the Title - 자바스크립트 0627

codevil 2022. 6. 27. 11:37

https://leetcode.com/problems/capitalize-the-title/

 

Capitalize the Title - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

문제는 되게 심플하기에, 효율성을 올리기 위해서 노력(?) 하였다.

1. result로 title을 스플릿한다. answer을 ""로 선언한다.

    let result = title.split(' ')
    let answer = ""

2.result를 기준으로 for문을 만든다.

    for (let i = 0; i < result.length; i++) {
    }

3. 단어마다 띄어쓰기가 있기 때문에, i!==0이라면 " "띄워쓰기를 붙인다

        if (i !== 0) {
            answer = answer + " "
        }

4. 문제 제한사항의 글자가 2글자이하의 경우, 대문자를 적용하지 않는다.

        if (result[i].length > 3)  {
            answer = answer + result[i][0].toUpperCase() + result[i].slice(1).toLowerCase()
        } else {
            answer = answer + result[i].toLowerCase()
        }

5. return answer

 

전체 풀이

var capitalizeTitle = function (title) {
    let result = title.split(' ')
    let answer = ""
    for (let i = 0; i < result.length; i++) {
        if (i !== 0) {
            answer = answer + " "
        }
        if (result[i].length > 3)  {
            answer = answer + result[i][0].toUpperCase() + result[i].slice(1).toLowerCase()
        } else {
            answer = answer + result[i].toLowerCase()
        }

    }
    return answer
};

 

예전에 이와 비슷한 문제를 풀어본 적이 있었는데, 원시값과 참조값을 제대로 이해하지 않아서 원시값에 대문자를 씌우려고 노력하는 것이 기억난다. +ㅅ +