Javascript/코딩테스트-연습
[JavaScript] 대문자와 소문자 - 프로그래머스
BeomBe
2024. 3. 22. 15:00
반응형
문제를 풀다가 다른 접근방식을 정리해둘 필요성을 느껴 포스팅 합니다.
문제 설명
대문자 => 소문자, 소문자 => 대문자
나의 풀이
간단하게 for문과 if문을 이용해서 두 값이 일치하는지 확인 후에 변경하였다.
빈 배열에 담아뒀다가 마지막에 join을하여 다시 문자열로 결합시켜준다.
function solution(my_string) {
var answer = [];
for(let i=0; i < my_string.length; i++){
if(my_string[i] === my_string[i].toUpperCase()){
answer.push(my_string[i].toLowerCase());
}
else{
answer.push(my_string[i].toUpperCase());
}
}
return answer.join('');
}
다른사람의 풀이
똑같이 for문을 썼지만, 더 간단하게 정리되었다.
문자열끼리 더해졌기때문에, join을 사용할 필요가 없다.
function solution(my_string) {
let answer = ''
for(let i of my_string){
if(i === i.toUpperCase()){
answer += i.toLowerCase();
}else{
answer += i.toUpperCase();
}
}
return answer;
}
아래는 Reduce를 활용하였는데, 한번쯤 봐두면 좋을것같아 남겨놓는다.
function solution(my_string) {
return my_string.split('').reduce((a, b) => {
if(b === b.toLowerCase()) return a + b.toUpperCase();
else return a + b.toLowerCase();
}, '')
}
반응형