프로그래머스: 이상한 문자 만들기

승헌·2022년 3월 4일
0

프로그래머스 Level 1

목록 보기
31/51

(문제링크)

문제

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

제한사항

  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
  • 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.

입출력 예

sreturn
"try hello world""TrY HeLlO WoRlD"

입출력 예 설명
"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.

풀이

단어의 문자가 홀수번째인지 짝수번째인지 알 수 있도록 boolean 변수를 하나 만들고,
변수의 값에 따라 대문자, 소문자로 바꿔줬다.

소스코드

function solution(s) {
    let string = '';
    let isOdd = true;
    
    for (let i=0; i<s.length; i++) {
        let char = s[i];
      
      	// 공백이라면 다시 홀수번째부터 시작
        if (char === ' ') {
            isOdd = true;
        } else {
            if (isOdd) char = char.toUpperCase();
            else char = char.toLowerCase();
            isOdd = !isOdd;
        }
        string += char;
    }
    
    return string;
}
profile
https://heony704.github.io/ 이리콤

0개의 댓글