코딩테스트 문제풀이/inflearn

[인프런] Node.js / 섹션1 - 기본문제 풀이 / 12. 대문자로 통일

sangchu 2023. 1. 4. 16:15

문자열을 모두 대문자로 통일하여 출력

 

나의 풀이1

function solution(s) {
  return s.toUpperCase();
}

let str = "ItisTimeToStudy";
console.log(solution(str));

 

나의 풀이2

function solution2(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(solution2(str));

 

강사 풀이

function solution3(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(solution3(str));

만약 소문자 알파벳이면, 해당 아스키코드를 32만큼 빼면 대문자다.

String.fromCharCode()로 아스키코드로부터 문자를 생성해 반환한다.