문제:
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다.
단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다.
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
문제 풀어보기: https://school.programmers.co.kr/learn/courses/30/lessons/12951
풀이보기
더보기
function solution(s) {
let arrStr = s.split(' ');
for(let i = 0; i < arrStr.length; i++) {
arrStr[i] = arrStr[i].toLowerCase();
arrStr[i] = arrStr[i].charAt(0).toUpperCase() + arrStr[i].slice(1);
}
return arrStr.join(' ');
}
일단 간편하게 수정하기 위해 공백을 기준으로 문자열을 배열로 변환해준다.
그런 후 반복문을 통해서 요구사항대로 수정해줄 예정이다.
제일 앞글자를 제외한 문자는 소문자이므로 먼저 소문자로 변환해준다.
그 후 문자열의 앞글자를 가져오는 charAt() 메서드를 이용해서 앞글자만 대문자로 변환해준다.
그리고 기존 앞글자는 삭제해준 뒤 둘이 붙여주면 된다.
마지막으로 join 메서드를 이용해서 문자열로 변환해주면 끝 !
처음에는 arrStr[i][0] = arrStr[i][0].toUpperCase();로 작성했었다. ㅎㅎ;
이게 안되는 이유가 문자열은 불변 객체이기 때문에 문자열의 특정 인덱스에 직접 값을 지정할 수 없다.
이제라도 알아서 다행이다 ㅎㅎ ..
'코딩 테스트' 카테고리의 다른 글
[프로그래머스 Level 1] 크기가 작은 부분 문자열 (0) | 2025.03.24 |
---|---|
[프로그래머스 Level 1] 제일 작은 수 제거하기 (0) | 2025.03.21 |
[프로그래머스 Level 2] 최솟값 만들기 (0) | 2025.03.21 |
[프로그래머스 Level 2] 올바른 괄호 (0) | 2025.03.20 |
[프로그래머스 Level 2] 최댓값과 최솟값 (0) | 2025.03.20 |