728x90
문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 사항
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
문제 풀이 방법
- 이 문제는 문자열에 있는 단어들을 빈칸 단위로 나눈다음 순회하며 처리해줘야 한다.
- 우선 split(" ")메서드를 이용해 빈칸으로 나눠진 단어들을 구분해준다.
- 나누어진 문자열들은 배열안에 들어가 있는 상태로 나오기에 이제 배열 메서드를 사용해주어 계산하자
- for문으로 순회하며 나누어진 단어를 이중 for문으로 순회해준다.
- 이제 단어의 문자의 인덱스가 짝수(0 포함)이면 toUpperCase()로 대문자로, 홀수면 toLowerCase()를 반환한다.
- 이렇게 반환된 알파벳은 만들어둔 빈 배열에 넣어주고 한 단어가 순회를 끝마치면 이를 answer 배열에 push()한다.
- 이렇게 for문으로 순회를 모두 마치면 answer 배열을 join(' ')를 이용해 합쳐줘 반환해주면 된다 ^^.
내가 작성한 코드
function solution(s) {
let answer = [];
const arr = s.split(' ')
for(let i=0; i<arr.length; i++){
const stArr = []
for(let j=0; j<arr[i].length; j++){
if(j % 2 === 0){
stArr.push(arr[i][j].toUpperCase());
}
else{
stArr.push(arr[i][j].toLowerCase());
}
}
answer.push(stArr.join(''));
}
return answer.join(' ');
}
728x90
'코딩 테스트 > 프로그래머스 코딩 테스트 연습' 카테고리의 다른 글
1Level / 연습문제 / 2016년 (0) | 2022.10.10 |
---|---|
1Level / 연습문제 / 소수찾기 (0) | 2022.10.06 |
1Level / 2018 KAKAO BLIND RECRUITMENT / [1차] 비밀지도 (0) | 2022.10.04 |
1Level / 2018 KAKAO BLIND RECRUITMENT / [1차] 다트 게임 (0) | 2022.09.27 |
1Level / 연습 문제 / 자릿수 더하기 (0) | 2022.09.14 |