728x90
split() 메서드는 String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눕니다.
function solution(s) {
let answer = '';
let arr = s.split(" ");
for(let i = 0; i<arr.length; i++){
for(let j = 0; j<arr[i].length; j++){
if(j%2 == 0) {
answer += arr[i][j].toUpperCase();
} else{
answer += arr[i][j].toLowerCase();}
}
if(!(i==arr.length-1)){
answer+=" ";
}
}
return answer;
}
1.단어를 split 함수로 조각낸다. let Arr = string.split(" "); 공백을 기준으로 나눔
2.이중 반복문으로 각 단어의 인덱스가 홀수자리인지, 짝수자리인지 판별.
3. 짝수자리는 toUpperCase(), 홀수자리는 toLowerCase()를 통해서 각각 변환하고 answer에 더하기.
4. 마지막으로 if 조건문으로 단어사이에 공백을 추가.
function solution(s) {
let answer = '';
let arr = s.split(" ");
//매개변수 s를 공백 기준으로 split
for(let i = 0; i<arr.length; i++){
//반복문을 만들어준다. 조건은 변수 arr의 길이만큼 설정.
for(let j = 0; j<arr[i].length; j++){
//이중반복문 만들기. 조건은 변수의 i번째 배열의 내용물만큼의 길이로설정
if(j%2 == 0) {
//j를 2로 나누어 나머지 0이라면(짝수자리)
answer += arr[i][j].toUpperCase();
//변수 arr의 i번째 배열내의 j번째 문자열을 대문자로 변환하여 변수answer에 더하여 저장
} else{
answer += arr[i][j].toLowerCase();}
//변수 arr의 i번째 배열내의 j번째 문자열을 소문자로 변환하여 변수answer에 더하여 저장
}
if(!(i==arr.length-1)){
answer+=" ";
//조건문 만들어 공백을 생성. 조건에있는 -1의 의미는 마지막 i번째 배열을 조건에서 제외하기 위함
}
}
return answer;
}
i 는 0부터 시작, try : 0, hello : 1, world : 2
arr.length는 1부터 시작. try : 1 hello : 2 world : 3 try hello world -> arr.length : 3
마지막 i 번째 world 뒤에는 공백이 x 그래서 length -1 조건이 들어간다.
728x90
'Programmers > javascript' 카테고리의 다른 글
[JS] Programmers 모의고사 ☑ (0) | 2022.06.09 |
---|---|
[JS] Programmers K번째수 ☑ (0) | 2022.06.09 |
[JS] Programmers 부족한 금액 계산하기 ☑ (0) | 2022.06.08 |
[JS] Programmers 같은 숫자는 싫어 ☑ (0) | 2022.06.08 |
[JS] Programmers 약수의 개수와 덧셈 ☑ (0) | 2022.06.07 |