[Programmers] JadenCase문자열 만들기

Jinny·2025년 1월 17일
0

JadenCase문자열 만들기

  • 날짜 / 주차-누적 횟수: 2025.01.16(목) / 3주차-2회

  • 사이트 이름: 프로그래머스

  • 사용 언어: 자바스크립트

  • 문제 고유 번호 및 레벨: 12951 / Lev 2

  • 나의 풀이 방법:

    
    function solution(s) {
        // JadenCase: 모든 단어의 첫 문자가 대문자 그 외의 알파벳은 소문자 
        // 첫 문자가 알파벳이 아닐 때는 이어지는 알파벳은 소문자로 쓰면 됨 
        const arr = s.split(' ');
        
        for (let i = 0; i < arr.length; i++) {
            if (arr[i]) {
                arr[i] = arr[i][0].toUpperCase() + arr[i].slice(1).toLowerCase();        
            }
        }
        return arr.join(' ');    
    }
    • arr에 빈 값이 아닌 경우 첫 문자를 대문자로 나머지는 소문자로 변환한다.
  • 최적 풀이 방법:

    
    function solution(s) {
        return s.split(" ").map(v => v.charAt(0).toUpperCase() + v.substring(1).toLowerCase()).join(" ");
    }
    
    • 빈 값을 기준으로 배열로 나눈다.
    • 첫 번째 글자에는 .toUpperCase()
    • substirng으로 1번째 문자열부터 쭉 까지는 .toLowerCase()
  • 배운 개념:

    • 자바스크립트에서 문자열은 불변(immutable)이다. 즉, 특정 인덱스를 직접 수정할 수 없다.
    • arr[i][0] = arr[i][0].toUpperCase() 이렇게 특정 문자를 직접 변경하려고 하면 오류가 발생하거나, 코드가 예상대로 동작하지 않는다. 대신 문자열을 조합해서 새로 만들어야 된다.
    • charAt(인수)- 인수번째의 문자를 읽어 낸다.
      • e.g. “javascript”.charAt(2)에는 ‘v’가 읽혀진다.
    • indexOf(인수)-인수가 들어있는 위치를 알려준다.
      • e.g. “javascript”.indexOf(’v’)에는 ‘2’가 읽혀진다.
    • substring(인수, 인수)-charAt은 문자하나를 읽어내지면 substring은 문자열을 읽어낸다.
      • e.g. “javascript”.substring(1, 3)에는 ‘ava’가 읽혀진다.
profile
세상을 이롭게 하는 프론트엔드 개발자 Jinny

0개의 댓글

관련 채용 정보