[프로그래머스] 대문자와 소문자
카테고리 : 컴퓨터 공학
태그: programmers · Code Refactoring · 참고 할 만한 다른 사람의 코드 · 코딩 기초 트레이닝 · 프로그래머스 · 코딩테스트 연습 · JavaScript · 대문자와 소문자 · js 대문자와 소문자
태그: programmers · Code Refactoring · 참고 할 만한 다른 사람의 코드 · 코딩 기초 트레이닝 · 프로그래머스 · 코딩테스트 연습 · JavaScript · 대문자와 소문자 · js 대문자와 소문자
문제 설명
문자열 my_string
이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤
my_string
의 길이 ≤ 1,000 my_string
은 영어 대문자와 소문자로만 구성되어 있습니다.
입출력 예
my_string | result |
---|---|
“cccCCC” | “CCCccc” |
“abCdEfghIJ” | “ABcDeFGHij” |
입출력 예 설명
입출력 예 #1
- 소문자는 대문자로 대문자는 소문자로 바꾼 “CCCccc”를 return합니다.
입출력 예 #2
- 소문자는 대문자로 대문자는 소문자로 바꾼 “ABcDeFGHij”를 return합니다.
나의 풀이
function solution(my_string) {
let answer = "";
for (let item of my_string) {
if (item === item.toUpperCase()) {
answer += item.toLowerCase();
} else {
answer += item.toUpperCase();
}
}
return answer;
}
나의 두번째 풀이(Code Refactoring)
function solution(my_string) {
return [...my_string]
.map((v, i) => (v === v.toUpperCase() ? v.toLowerCase() : v.toUpperCase()))
.join("");
}
// 요소가 대문자인걸 판별 한후 true이면 소문자로 변환 시키고 그렇지 않은건 대문자로 변환
참고 할 만한 다른 사람의 코드
function solution(my_string) {
const result = (char) =>
/[a-z]/.test(char) ? char.toUpperCase() : char.toLowerCase();
return [...my_string].map(result).join("");
}
//정규식으로 찾기