❓ 대문자와 소문자가 같이 존재하는 문자열을 입력받아 대문자로 모두 통일하여
문자열을 출력하시오.
function solution(s) {
let answer="";
return answer;
}
let str = "ItisTimeToStudy";
console.log(solution(str));
앞에 문제들과 마찬가지로 s로 받아오고
answer는 "", 스트링을 사용해서 누적할 것이다.
function solution(s) {
let answer="";
for(let x of s){
if(x===x.toLowerCase()) answer+=x.toUpperCase();
}
return answer;
}
let str = "ItisTimeToStudy";
console.log(solution(str));
for문을 사용해서
소문자인 것을 나타내주는 toLowerCase를 사용해서 x가
참이면 answer에 대문자로 누적하는 식을 작성해준다.
function solution(s) {
let answer="";
for(let x of s){
if(x===x.toLowerCase()) answer+=x.toUpperCase();
else answer+=x;
}
return answer;
}
let str = "ItisTimeToStudy";
console.log(solution(str));
그리고 그게 아니면(거짓이면) 대문자라는 소리니까
그대로 그냥 누적해준다. (+=)

또 다른 방법으로는 아스킷 넘버를 이용하는 것도 있다.
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;
}
return answer;
}
let str = "ItisTimeToStudy";
console.log(solution(str));
num에 아스킷 넘버를 할당하고
97~122사이라면 (소문자라면)
answer에 String.fromCharCode(num-32)를 사용하여
대문자로 바꿔 누적하는 식을 작성해준다.
소문자에서 32를 빼면 대문자가 된다.
그것을 String.fromCharCode을 사용하면 대문자로 바꿔주는 것이다.

'알고리즘' 카테고리의 다른 글
JS | 대문자 찾기 (0) | 2021.09.14 |
---|---|
JS | 문자 찾기 (0) | 2021.09.02 |
JS | A를 #으로 바꾸기 (0) | 2021.08.31 |
JS | 일곱 난쟁이 찾아내기 (0) | 2021.08.30 |
JS | 10부제 위반 차량 출력하기 (0) | 2021.08.23 |