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

Mincho·2022년 12월 20일
0
post-thumbnail

🔴JadenCase 문자열 만들기

JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.

❗제한 사항
s는 길이 1이상 200이하인 문자열입니다.
s는 알파벳과 숫자, 공백문자("")로 이루어져 있습니다.
◾ 숫자는 단어의 첫 문자로만 나옵니다.
◾ 숫자로만 이루어진 단어는 없습니다.
◾ 공백문자가 연속해서 나올 수 있습니다.

👉입출력 예

sresult
"3people unFollowed me""3people Unfollowed Me"
"for the last week""For The Last Week"



😶나의 풀이


  처음 주어진 문자열ssplit()함수로 " "기준으로 나누어 배열에 저장하고 각 배열 요소마다의 첫문자를 toUpperCase()로 대문자로 만들고 뒤에 문자들을 slice로 떼어와 toLowerCase()로 소문자로 만들어 첫문자에 붙여놓았다.

function solution(s) {
    var answer = '';
    const data = s.split(' ')		//' '기준으로 문자열 저장
     answer = data.map((props) =>{ 
       if(props === ""){		// 빈 공백이 연속될 때 그대로 저장
          return props 
       }else {
          return props[0].toUpperCase() + props.slice(1,props.length).toLowerCase();
       }
     }) 
    return answer.join(" ");
}

 문제를 다 풀고 테스트 케이스까지 정답을 확인하고 제출 후 채점하기를 눌렀지만 몇몇 케이스에서 런타임에러가 나와 당황했던 문제였다. 꼼꼼히 문제의 제한 조건을 확인해보니 공백문자가 연속해서 나올 수 있습니다.라고 표기된것을 뒤늦게 확인 했다. 그래서 공백문자가 나올 때 조건문으로 그대로 출력될 수 있도록 바꿔주었다.



😎후기..

문제 설명과 제한 조건을 빼먹지 않고 머리에 넣어놔서 문제를 풀어야 겠다. 문제에서 제시한 입출력 예만 보고 그 결과값만 생각해서 풀어, 중간에 난해한 상황이 발생했다...

👍올바른 피드백은 언제든지 환영입니다~!

profile
사진찍는 개발자.

0개의 댓글