📌강의 정리
대문자는 그대로 두고 소문자를 찾으면 대문자로 바꿔준다.
우선 let x of s로 하나씩 찾는다 이때 if문을 사용한다.
소문자로 바꿔주는 것은 toLowerCase()이므로 문자 하나씩 소문자로 바꿔줘서 비교하는 조건문을 걸어준다.
이때 정답 문자열에 += 연산자를 써서 하나씩 넣어주면 된다.
ascii코드로도 풀 수 있다. num값을 charCodeAt()으로 아스키로 넣어준후
97, 122로 비교하여 소문자 찾고 ascii값에서 32를 빼어 대문자로 바꿔주면 된다.
이제 이 숫자를 다시 문자로 바꿔줘야 한다.
String.fromCharCode(num-32) 이다.
📌느낀점
11번 문제의 연장선상에 있는 문제이다.
대문자가 소문자로 바뀌는 코드가 toLowerCase()라는 것과
ascii코드 숫자를 문자로 바꾸는게 String.fromCharCode(num-32)라는 것을
잘알아둬야겠다. 저번 그리고 이번 문제로 문자열 관련하여 알고있는 메서드를 잘 기억해두자.
또한 문자열에 값을 추가할때는 아주 간단하게 +를 쓰면된다는 것도 기억해두자.
//나의 코드
<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(s){
let answer="";
for(let x of s){
console.log(x.toUpperCase());
answer = answer + x.toUpperCase();
}
return answer;
}
let str="ItisTimeToStudy";
console.log(solution(str));
</script>
</body>
</html>
//강사님 코드
<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>=97 && num<=122) answer+=String.fromCharCode(num-32);
else answer+=x;
//if(x===x.toLowerCase()) answer+=x.toUpperCase();
//else answer+=x;
}
return answer;
}
let str="ItisTimeToStudy";
console.log(solution(str));
</script>
</body>
</html>
'JS 알고리즘 문제풀이 > 섹션 1. 기본문제 풀이' 카테고리의 다른 글
14.가장 긴 문자열 (0) | 2022.01.12 |
---|---|
13.대소문자변환 (0) | 2022.01.12 |
11.대문자 찾기 (0) | 2022.01.12 |
10.문자 찾기 (0) | 2022.01.11 |
9.A를 #으로 (0) | 2022.01.11 |