일기/TIL
TIL: Today I Learned 53일차 [대문자와 소문자]
표자
2023. 1. 27. 09:35
728x90
반응형
1. 문제점
프로그래머스 알고리즘 문제풀이 - 자바스크립트 [대문자와 소문자]
2. 시도해본 것들
문제를 보고 for문을 이용해
첫번째 인덱스가 대문자라면(if) 소문자로! 소문자라면(if) 대문자로!
노가다하기로 결심했다.
바꾸는 과정은 아는데 if문에서 소문자인지 대문자인지 어떻게 알 수 있을까..?
3. 해결과정
해결방법은 arr[i] 와 변환시켜둔 arr[i].toLowercase() 가 같은지 확인하면 되는 것 이었다.
배열값을 두고 이게 소문자로 변환시킨 배열값과 동일한가?
if( arr[i] == arr[i].toLowerCase() )
4. 알게 된 점
나의 문제풀이
function solution(my_string) {
var answer = [];
var arr = Array.from(my_string);
for(i=0; i<my_string.length; i++){
if(arr[i] == arr[i].toLowerCase() ){
answer[i] = arr[i].toUpperCase()
} else {
answer[i] = arr[i].toLowerCase()
}
}
return answer.join('');
}
이제 문자열 <=> 배열 왔다갔다 하는건 익숙해진듯 하다.
마지막 배열을 join('')까지 익숙해졌다.
남의 문제풀이
function solution(my_string) {
var answer = '';
for (let c of my_string) answer += c === c.toLowerCase() ? c.toUpperCase() : c.toLowerCase();
return answer;
}
문자열만으로 해결
게다가 삼항연산자로 깔끔하게 해결되었다. 위와 같이 풀 수 있도록 연습해야지.
728x90
반응형