문제 및 제한 사항
끈 에스~이다 하나 개 이상적인 말로 구성 있다. 각 그 단어는 하나 이상적인 공백 포함 분리 있다. 각 단어의 짝수 알파벳은 대문자, 홀수 알파벳은 소문자로 변경 끈 돌려 주다 기능해결책두번째 완벽한.
**제한 사항**
전체 문자열의 짝수/홀수 색인이 아니라 각 단어의 짝수/홀수 색인(공백 기준)을 결정해야 합니다.
첫 번째 일 편지는 0일 색인으로 보아 짝수 알파벳 순으로 처리해야 하다.
해결 방법
예를 들어 “try hello world” –> “TrY HeLlO WoRlD”가 표시되어야 합니다.
try, hello, world와 같이 각 단어의 짝수알파벳은 대문자로, 홀수알파벳은 소문자로 출력할 수 있습니다.
이렇게 하려면 먼저 공백을 기준으로 주어진 문자열을 분할하여 배열을 만듭니다.
그렇다면 (“try”, “hello”, “world”)가 포함됩니다.
문제를 풀기 위해서는 첫 번째 문자를 0번째 인덱스로 간주하여 짝수로 취급해야 하므로 t, y/h, l, o/w, r, d는 대문자여야 한다.
배열의 문자열을 다시 분할합니다.
이렇게 쪼갤 때 “t”, “r”, “y”가 for문을 실행하여 0이나 짝수이면 toUpperCase()는 대문자로 만든다.
단어의 모든 문자를 빈 문자열에 넣은 후에 공백을 삽입해야 합니다.
따라서 for 문 밖에 공백을 넣으면 “TrY HeLlO WoRlD” 형식이 됩니다.
끝에 있는 공백을 제거해야 합니다.
이렇게 하려면 슬라이스를 사용하여 마지막 공백을 제거합니다.
answer.slice(0, -1)로 0번째 색인에서 -1번째 색인을 삭제하거나
answer.substring(0, answer.length-1)을 사용하면 0번째 인덱스와 마지막 -1번째 인덱스를 검색할 수 있습니다.
처음에는 이런 생각이 안들어서 트림과 트림엔드만 써도 될지 계속 고민했습니다.
스트링이 계속해서 추가되다보니 트림으로 해결이 안되는건 이해가 되지만 그래도 제대로 이해가 안가서 질문을 남겼습니다.
혼자 공부하고 JS로 코딩하기 힘든 분야 ㅠ_ㅠ…
암호
function solution(s) {
let sWord = s.split(" ");
let answer = "";
for (let i = 0; i < sWord.length; i++) {
let sAlpha = sWord(i).split("");
for (let j = 0; j < sAlpha.length; j++) {
if (j === 0 || j % 2 === 0) {
answer += sAlpha(j).toUpperCase();
} else {
answer += sAlpha(j).toLowerCase();
}
}
answer += " ";
}
return answer.slice(0, -1)
}