문제
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
입출력 예
s return "3people unFollowed me" "3people Unfollowed Me" "for the last week" "For The Last Week"
풀이
1. splite() // ' ' 공백을 기준으로 문자열 나누기
2. map() // map()함수를 통해 새로운 문자열 반환
3. charAt() //맨 앞의 글자를 모두 대문자로 바꾸기
4. toLowerCase(), toLowerCase()
5. slice() // 맨 앞글자를 제외한 그 뒤에 글자들을 (기준으로) 소문자로 바꿔서 연결
6. join() // ' ' 공백을 기준으로 문장으로 바꾸기
위와같은 메서드들을 이용해서 문제를 풀어보았다.
map() 함수
배열의 각 요소를 변환한 새로운 배열로 반환한다.
arr.map((element, index, array)=>{ return 새로운 값; }) element: 현재 요소 index: 현재 요소의 인덱스 (선택 사항) array: 원본 배열 (선택 사항)
function solution(s) {
return s.split(' ')
.map((w) => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase())
.join(' ');
}
참고 자료
'코딩테스트 > 2025 코딩 테스트' 카테고리의 다른 글
[ 프로그래머스 ] JS - 과일 장수 (0) | 2025.03.02 |
---|---|
[ 프로그래머스 ] JS - 문자열 정렬하기 (0) | 2025.02.24 |
[ 프로그래머스 ] JS - 최솟값 만들기 (0) | 2025.02.24 |
[ 프로그래머스 ] JS - 푸드 파이트 대회 (0) | 2025.02.08 |
[ 프로그래머스 ] JS - 행렬의 덧셈 (0) | 2025.02.08 |