A.P - JardenCase 처리(프로그래머스, L2)

EBinY·2022년 10월 27일
0

AP - Algorithm Problem

목록 보기
51/55
  1. 문제
  • 입력받은 문자열을 JardenCase처리 하여 리턴하라
  • JardenCase는 모든 단어의 맨 앞글자만 대문자인 형태
  • 맨앞글자가 숫자일 경우는 뒤의 영문자들은 모두 소문자형태
  • 공백문자가 연속해서 나올 수 있음
  1. 수도코드
// 주어진 문자열을 공백을 기준으로 분리하여 배열에 저장하고
// 배열값을 반복문으로 수정하자
// 값 전체를 소문자처리하고, 맨 앞글자만 대문자처리하여 저장
// 맨 끝값을 제외하고 뒤에 공백을 붙여 새문자열에 저장하고 리턴하자
  1. 시도
function solution(s) {
    // 리턴할 문자열을 저장할 빈 문자열 선언
    let ans = '';
    
    // 주어진 문자열을 공백을 기준으로 분리
    // 연속공백문자의 경우는? 공백을 유지해야 하는가 아닌가
    // 유지하는 쪽이 맞았음
    const arr = s.split(' ');

    // 반복문으로 배열의 값을 수정하여 빈 문자열에 붙이자
    for (let i in arr) {
        // 배열값을 소문자처리하여 저장
        let ns = arr[i].toLowerCase();
        // 앞글자만 대문자처리
        let fs = ns.slice(0,1).toUpperCase();        
        ns = fs + ns.slice(1);
		
      	// 마지막 값을 제외하고는 공백을 붙여서 새문자열에 저장
        if (Number(i) === arr.length-1) {
        	ans = ans + ns;
        } else {
        	ans = ans + ns + ' ';
        }
    }
  return ans;
}
  1. 레퍼런스
function solution(s) {
    return s.split(" ").map(v => v.charAt(0).toUpperCase() + v.substring(1).toLowerCase()).join(" ");
}
  1. 레퍼런스 공부 및 주석
function solution(s) {
  	// map 함수를 활용하여 반복문을 대체하고
  	// charAt을 활용한 맨앞글자 대문자 적용
  	// substring으로 2번문자부터 자르고 전체 소문자 적용
  	// join을 활용하여 ' '을 통한 문자열 재결합
    return s.split(" ").map(v => v.charAt(0).toUpperCase() + v.substring(1).toLowerCase()).join(" ");
}

0개의 댓글

관련 채용 정보