최솟값 만들기

ChanghyeonO·2023년 11월 10일
0

[level 2] JadenCase 문자열 만들기 - 12951

문제 링크

성능 요약

메모리: 33.5 MB, 시간: 0.05 ms

구분

코딩테스트 연습 > 연습문제

채점결과

정확성: 100.0
합계: 100.0 / 100.0

제출 일자

2023년 11월 5일 23:46:57

문제 설명

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

제한 조건
  • s는 길이 1 이상 200 이하인 문자열입니다.
  • s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다.
    • 숫자는 단어의 첫 문자로만 나옵니다.
    • 숫자로만 이루어진 단어는 없습니다.
    • 공백문자가 연속해서 나올 수 있습니다.
입출력 예
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(" ")메서드를 통해 배열에서 문자열로 바꿔주었다.

profile
꾸준한 기록을 통해, 좋은 개발자가 되겠습니다.

0개의 댓글