문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 사항
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입출력 예 설명
"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.
function solution(str) {
var answer = str.split(" ");
var result = ''
for(let i = 0 ; i<answer.length ; i++){
for(let k = 0;k<answer[i].length;k++){
if(k%2==0){
result+=answer[i][k].toUpperCase()
}else{
result+=answer[i][k].toLocaleLowerCase()
}
}
// 1개 문자열이 더해진 후에 띄어쓰기
result+=" "
}
console.log(`"${result.slice(0, -1)}"`);
}
- 파라미터에 문자열 띄어쓰기 기준으로 배열로 바꾼다.
- for문을 2가지로 돌리는데 i 번은 answer의 요소를 찾기위해 k 번은 찾은요소에 문자 위치를 찾기 위해 돌린다
- k번에 찾은 위치 값이 짝면 toUpperCase()로 대문자로 바꾸고 아니면 toLocaleLowerCase() 소문자로 바꾼다. result에 붙혀준다.
- i번이 끝날때마다 result에 띄어쓰기를 넣어준다.
- 맨끝에 생기는 띄어쓰는 제거하고 result를 리턴한다.
- 다시 합치는데 기준은 띄어쓰기
'개발일기 > 알고리즘' 카테고리의 다른 글
자연수 뒤집어 배열로 만들기 (0) | 2021.11.10 |
---|---|
자릿수 더하기 (0) | 2021.11.10 |
수박수박수박수박수박수? (0) | 2021.11.10 |
김서방 찾기 (0) | 2021.11.10 |
내적 (0) | 2021.11.10 |