https://school.programmers.co.kr/learn/courses/30/lessons/12930
문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 사항
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입출력 예
s return
"try hello world" | "TrY HeLlO WoRlD" |
입출력 예 설명
"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.
자바스크립트 대문자, 소문자 구분하는 함수
대문자를 소문자로 바꾸는 예제
const uppercaseString = "HELLO";
const lowercaseString = uppercaseString.toLowerCase();
console.log(lowercaseString); // "hello"
소문자를 대문자로 바꾸는 예제
const lowercaseString = "world";
const uppercaseString = lowercaseString.toUpperCase();
console.log(uppercaseString); // "WORLD"
문제풀이
function solution(s) {
var answer = '';
const splitS = s.split(" ");
const result = [];
for (let oneWord of splitS) {
const test = []
for (let i = 0 ; i < oneWord.length ; i++) {
//짝수인경우
if (i % 2 === 0) {
test.push(oneWord[i].toUpperCase())
} else {
test.push(oneWord[i].toLowerCase())
}
}
result.push(test.join(''))
}
return result.join(' ');
}
//단어는 공백으로
//짝수번째는 대문자
//홀수번째는 소문자
//단어를 기준으로 공백으로 짝수 홀수 판단
//먼저 공백으로 나누자
멘토님 풀이
- 화살표 함수를 잘 써보자...ㅠㅠ
- 이렇게도 짧게 풀수도 있다...ㅠㅠ
function solution(s) {
return s.split(" ").map(to).join(" ")
}
function to(w){
return w.split("").map((t,i)=>i % 2 === 1 ? t.toLowerCase() : t.toUpperCase()).join("")
}
'코테풀이 > 문자열' 카테고리의 다른 글
[프로그래머스] 옹알이(1), 옹알이(2) (문자열, 정규식) (1) | 2023.10.24 |
---|---|
[프로그래머스] 신규 아이디 추천 (1) | 2023.10.23 |
[프로그래머스] 숫자 문자열과 영단어 (0) | 2023.10.21 |
[구름 | 파이썬] 출석부(문자열) (0) | 2022.09.14 |
[백준 | 실버3] 17413: 단어뒤짚기(문자열) (0) | 2022.08.30 |
[프로그래머스] 이상한 문자 만들기