대문자 찾기

heyj·2022년 3월 30일
0

Coding Test

목록 보기
10/15

대문자 찾기

특정문자열에서 대문자를 찾아 갯수를 세는 문제입니다.

charCodeAt()메소드를 사용하면 index에 해당하는 문자의 unicode 값을 리턴합니다.
(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt)

string.charCodeAt(index)

  • unicode 대문자는 65~90을 소문자는 97~122 값을 갖습니다.
  • 참고 : charAt()은 index에 해당하는 문자를 리턴하고, charCodeAt은 유니코드 값을 리턴합니다.

대문자의 unicode 값이 65~90 사이임을 참고해 다음과 같이 코드를 작성할 수 있습니다.

function capital(str) {
  let answer = 0;
  for (let x of str) {
    let num = x.charCodeAt();
    if (num >= 65 && num <= 90) answer++;
  }
  return answer;
}

let str = "ToUpperCase";
console.log(capital(str)) // 3

toUpperCase() 메소드를 쓰면 문자열을 대문자로 변환해서 반환합니다.
(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase)
이것을 이용해 str에 들어온 문자들과 str[i].toUpperCase()를 비교해 맞다면 answer를 1씩 더해주는 방식으로도 풀 수 있습니다.

function capital(str) {
  let answer = 0;
  for (let x of str) {
    if (x === x.toUpperCase()) answer++;
  }
  return answer;
}

let str = "ToUpperCase";
console.log(capital(str)) // 3

0개의 댓글