📌강의정리
문자 하나하나를 탐색하면서 했는데 원래는 대소문자로 변환하려면 그냥
toUpperCase()를 쓰면 한번에 끝나는 데 하나하나를 탐색했던이유는 이 문제처럼 문자하나하나를 변환하게 하는 코딩테스트 문제가 나오기 때문이다.
for(let x of s)로 하나하나 탐색을 한다.
그다음 if(x === x.toUppercase())로 대문자인지 확인이 가능하다.
맞다면 toLowerCase()로 소문자로 바꿔주고 아니라면 else로 대문자로 바꿔주면 된다.
📌느낀점
자꾸 대소문자 변환에서 익숙한 아스키코드를 사용하는것 같다.
코드의 길이는 어퍼케이스를 쓰는게 이득이므로 어퍼케이스를 쓸 수 있도록 의식적으로 연습해야겠다.
//나의 코드
<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(s){
let answer="";
for(let x of s){
let num = x.charCodeAt()
if(num>=65 && num <=90) num+=32;
else num-=32;
answer+=(String.fromCharCode(num));
}
return answer;
}
console.log(solution("StuDY"));
</script>
</body>
</html>
//강사님 코드
<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(s){
let answer="";
for(let x of s){
if(x===x.toUpperCase()) answer+=x.toLowerCase();
else answer+=x.toUpperCase();
}
return answer;
}
console.log(solution("StuDY"));
</script>
</body>
</html>
'JS 알고리즘 문제풀이 > 섹션 1. 기본문제 풀이' 카테고리의 다른 글
15.가운데 문자 출력(substring, substr) (0) | 2022.01.12 |
---|---|
14.가장 긴 문자열 (0) | 2022.01.12 |
12.대문자로 통일 (0) | 2022.01.12 |
11.대문자 찾기 (0) | 2022.01.12 |
10.문자 찾기 (0) | 2022.01.11 |