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

윤상일·2022년 7월 18일
0

프로그래머스 Lv.2

목록 보기
2/2
post-thumbnail

문제 설명

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

입출력 예

제한사항

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

나의 코드

function solution(s) {
return s.toLowerCase()
  		.split(" ")
  		.map(x=> x == "" ? x:x[0].toUpperCase()+x.slice(1))
  		.join(" ");
}

1. 문제 풀이

이 문제의 핵심은 공백 이후 문자열의 첫번 째 문자만 대문자로 변경해주는것이다.
그래서 필자는 우선 toLowerCase를 이용해 인자로 주어진 문자열s를 모두 소문자로 변경해주고
split을 이용하여 공백을 구분자로 문자열을 배열로 나누어주었다.
그리고 map을 이용하여 현재 인덱스의 요소가 “”(빈문자열)임을 검사해 맞다면 그대로 “”를 리턴해주고
아니라면 문자열의 첫 번째 문자만 toUpperCase를 이용하여 대문자로 바꿔준 후 
slice의 인자에 1(시작 인덱스)을 넣어주어 문자열의 0번째 문자를 제외한 1번째 문자부터 문자열의 끝까지를 반환해주어 두 문자열을 붙여 새로운 배열에 리턴해준다.
그리고 join을 이용해 배열의 모든값을 다시 " "을 구분자로 붙여주면 정답이 나오게 된다.
profile
멋있는 개발자를 꿈꾸는 코린이

0개의 댓글