DevLog:-)

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

알고리즘/프로그래머스

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

hyeon200 2023. 8. 13. 20:03
반응형

문제

JadenCase 문자열 만들기

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

//복습2
function solution(s) {
    var answer = '';
    let li = s.split("") //문자열 -> 배열
    
    li=li.map((a,i)=>{   //map이용해서 각 요소값 바꾸기
        if(i==0 || li[i-1]==' '){     //맨 앞글자 대문자
            return a.toUpperCase();}
        else{return a.toLowerCase();}   //나머지 글자 소문자
        });
    
    return li.join("");
}

 

✅check point

arr.split("") 문자열을 일정한 구분자로 잘라서 배열로 저장
s.toUpperCase() 문자를 대문자로 반환
s.toLowerCase() 문자를 소문자로 반환
arr.join("")
배열의 모든 요소 연결해 문자열로 만
arr.map(p => p)
각각의 요소에 호출해서 그 값을 변환할 수 있게 해줌
arr.charAt(0) 
문자열에서 특정 인덱스에 위치하는 단일 문자 반환

 

[문자열 특정 부분 추출하기]  
str.substr(시작 위치,길이)
str.substr(시작 위치)
-길이 생략하면 문자열 끝까지

ex) let str = '자바스크립트';
      let result1 = str.substr(0, 2);  //결과 : "자바"
      let result2 = str.substr(2, 4);  // 결과 : "스크립트"
      let result3 = str.substr(2);      // 결과 : "스크립트"
str.substring(시작 위치, 종료 위치)
str.substring(시작위치)
-음수는 0으로 치환
-종료 위치가 0인 경우 첫번째 인수와 두번째 인수 뒤바뀜

ex) let str = '자바스크립트';
      let result1 = str.substring(0, 2);  //결과 : "자바"
      let result2 = str.substring(2, 5);  // 결과 : "스크립"
      let result3 = str.substring(2);      // 결과 : "스크립트"


str.slice(시작위치,종료위치) -substring기능 + 음수 기능

ex) let str = '자바스크립트';
      let result4 = str.slice(-4);       // 결과 : "스크립트"
      let result5 = str.slice(-4, 5);   // 결과 : "스크립"
      let result6 = str.slice(2, -1)    // 결과 : "스크립"

 

 

📖다른 풀이

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

    s = s.split(' ');
    for(var i=0; i<s.length; i++) {
        answer.push(s[i].substr(0,1).toUpperCase() + s[i].substr(1,s[i].length).toLowerCase());
    }
    return answer.join(' ');
}

 

반응형