코딩테스트 50일차
이상한 문자 만들기
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
function solution(s) {
var words = s.split(" "); // 공백을 기준으로 단어 분리
var transformedWords = [];
for (var i = 0; i < words.length; i++) {
var word = words[i];
var transformedWord = "";
for (var j = 0; j < word.length; j++) {
if (j % 2 === 0) {
transformedWord += word[j].toUpperCase(); // 짝수번째 알파벳은 대문자로 변환
} else {
transformedWord += word[j].toLowerCase(); // 홀수번째 알파벳은 소문자로 변환
}
}
transformedWords.push(transformedWord);
}
return transformedWords.join(" "); // 변환된 단어들을 공백을 기준으로 결합하여 반환
}
✏️풀이
var words = s.split(" ");: 주어진 문자열 s를 공백을 기준으로 분리하여 단어로 이루어진 배열 words에 저장합니다.
var transformedWords = [];: 변환된 단어를 저장할 배열 transformedWords를 생성합니다.
for (var i = 0; i < words.length; i++) { ... }: words 배열을 반복하여 각 단어를 처리합니다. i는 반복문 변수로, 0부터 words.length - 1까지 값을 가집니다.
var word = words[i];: 현재 처리 중인 단어를 변수 word에 저장합니다.
var transformedWord = "";: 변환된 단어를 저장할 변수 transformedWord를 생성하고 빈 문자열로 초기화합니다.
for (var j = 0; j < word.length; j++) { ... }: 현재 처리 중인 단어를 반복하여 각 알파벳을 처리합니다. j는 반복문 변수로, 0부터 word.length - 1까지 값을 가집니다.
if (j % 2 === 0) { transformedWord += word[j].toUpperCase(); } else { transformedWord += word[j].toLowerCase(); }: 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 변환하여 transformedWord에 추가합니다. j % 2 === 0는 j가 짝수인지 확인하는 조건문입니다.
transformedWords.push(transformedWord);: 변환된 단어 transformedWord를 transformedWords 배열에 추가합니다.
return transformedWords.join(" ");: transformedWords 배열의 요소들을 공백을 기준으로 결합하여 문자열로 반환합니다.