메모리: 33.5 MB, 시간: 0.05 ms
코딩테스트 연습 > 연습문제
정확성: 100.0
합계: 100.0 / 100.0
2023년 11월 5일 23:46:57
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
s | return |
---|---|
"3people unFollowed me" | "3people Unfollowed Me" |
"for the last week" | "For The Last Week" |
※ 공지 - 2022년 1월 14일 제한 조건과 테스트 케이스가 추가되었습니다.
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
아래는 내가 작성한 풀이.
function solution(s) {
let answer = [];
const a = s.split(" ");
for(let i = 0; i < a.length; i++){
answer.push(a[i].charAt(0).toUpperCase() + a[i].slice(1).toLowerCase())
}
return answer.join(' ');
}
먼저 단어별로 나눠서 배열에 담아주고 for문을 돌려줬다. 배열에 있는 단어 a의 첫번째 문자를 .charAt(0)으로 찾아주고 .toUpperCase() 메서드를 통해 대문자로 바꿔주었다.
그리고 .slice(1)메서드를 통해 두번째 문자부터 .toLowerCase()를 통해 전부 소문자로 바꿔준다음 다시 합쳐주었었다. 그리고 .join(" ")메서드를 통해 배열에서 문자열로 바꿔주었다.