코딩테스트/Programmers (프로그래머스)

[프로그래머스] 이상한 문자 만들기 - Javascript (Lv.1)

지윤공원🌳 2021. 4. 12. 20:53
728x90

📖 문제 설명

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

 

✔️ 제한조건

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

 

💻 나의 코드

function solution(s) {
    var answer = '';
    let arr = s.split(' ');
    for(let a of arr){
        for(let j=0; j<a.length; j++){
            if(j % 2 == 0){
                answer += a[j].toUpperCase();
            }else{
                answer += a[j].toLowerCase();
            }
        }
        answer += " ";
    }
    return answer.slice(0, answer.length-1);
}

 

🎤 코드 설명

  • 입력받은 문자열 s를 split('')함수를 통해 배열로 만듭니다.
  • 배열에서 요소를 하나씩 꺼내서 반복을 합니다. 이때, 요소(단어) 하나마다 또 반복을 수행합니다. (이중 반복문)
  • j의 값에 따라 짝수면 toUpperCase(), 홀수면 toLowerCase()를 통해 대소문자를 바꾸고 answer에 추가합니다. 
  • 단어 사이마다 " "(공백)을 추가해줍니다.
  • answer의 맨 뒤 한 칸을 자른 뒤에 return 해줍니다. (맨 뒤에 공백이 추가되어 있기 때문)

 

📜 채점 결과

정확성: 100.0

합계: 100.0 / 100.0

 

💬 배운 것

  • toUpperCase()와 toLowerCase()를 활용하면서 사용법을 익혔습니다. 
  • slice()함수를 사용해서 간편하게 answer를 구했습니다. 

 

 

 

코딩테스트 연습 - 이상한 문자 만들기

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

programmers.co.kr

 

728x90