처음부터 차근차근

[프로그래머스] LV2 JadenCase 문자열 만들기 본문

코딩테스트/Javascript

[프로그래머스] LV2 JadenCase 문자열 만들기

HangJu_95 2023. 10. 31. 22:34
728x90

문제 링크

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

문제 설명

내 풀이

function solution(s) {
    const a = s.split(' ')
    for (let i = 0; i < a.length; i++) {
        if (a[i].charAt(0) == /[0-9]/g || '') {
            a[i] = a[i].toLowerCase()
        } else {
            let first = a[i].charAt(0)
            let other = a[i].slice(1)
            a[i] = first.toUpperCase() + other.toLowerCase()
        }
        
    }
    return a.join(' ')
}

다른 사람의 풀이

function solution(s) {
    return s.split(" ").map(v => v.charAt(0).toUpperCase() + v.substring(1).toLowerCase()).join(" ");
}

여기서는 메서드 체이닝이 잘 동작하는 것을 확인.

오늘 배운 점

  • 공백이 있을 경우, split 메서드를 사용하면, 공백이 '' 처리가 되어 Array에 들어간다.
  • String.charAt() 메서드

charAt() 메서드는 문자열에서 특정 인덱스에 위치하는 유니코드 단일 문자를 반환한다.

이것을 통해 toUpperCase()를 사용한다.

단, charAt()과 toUpperCase()를 메소드 체이닝으로 연결하면 내가 했을때는 안된다. 다시 해봐야 한다.

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/charAt

  • 정규표현식

0-9까지의 숫자인지 확인하고 싶은 경우, /[0-9]/g 까지 넣어야 된다.