반응형
문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. |
제한 조건
|
입출력 예
"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다. |
초기 코드
function solution(s) {
var answer = '';
return answer;
}
코드 풀이 설명
function solution(s) {
let answer = [];
// 먼저 s의 값을 공백을 기준으로 쪼갠다
let result = s.split(" ")
// 그리고 i가 0부터 result의 길이만큼 돌게 되는데
// 이 때 sum이라는 변수를 새로 만들어 문자열을 넣어준다
for ( let i = 0; i < result.length; i++) {
let sum = '';
// 다시한번 이중 for문을 이용하여 j가 result[i]의 길이만큼 돌게 되는데
// 여기서 만약 j가 짝수라면 sum에 result[i][j]를 대문자로 붙여준다.
// 만약 j가 홀수라면 sum에 result[i][j]를 소문자로 붙여준다.
for(let j = 0; j < result[i].length; j++) {
if (j % 2 === 0) {
sum += result[i][j].toUpperCase()
} else {
sum += result[i][j].toLowerCase()
}
}
// 다음 단계로는 answer에 sum을 push
answer.push(sum)
}
// 마지막으로 분리된 배열을 공백을 기준으로 하나의 문자열로 합쳐서 return
return answer.join(' ')
}
- 먼저 배열이 들어갈 빈칸 answer을 만들어주고 s를 공백을 기준으로 쪼갠다.
- 그리고 i가 0부터 result의 길이만큼 돌면서 새로운 변수인 sum을 만들어준다.
- 그리고 다시한번 j가 0부터 result[i] 길이만큼 돌게 되는데 이 때 만약 j가 짝수라면 result[i][j]의 값은 대문자로 붙이고, 홀수라면 result[i][j]의 값을 소문자로 변환하여 붙여준다.
- sum에 붙여준 문자열을 answer에 넣어준 후 마지막으로 공백을 기준으로 합친다.
프로그래머스 코딩테스트 연습 - 이상한 문자 만들기
https://programmers.co.kr/learn/courses/30/lessons/12930
프로그래머스 코딩테스트 연습 - 다른 문제 풀이(자바스크립트)
반응형