한 개의 문자열을 입력받아 해당 문자열에 알파벳 대문자가 몇 개 있는지 알아내는 프로그램을 작성하세요.
첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않는다.
첫 줄에 대문자의 개수를 출력한다.
KoreaTimeGood
3
소문자를 대문자로 바꿔주는 메소드 toUpperCase
를 이용하면 아주 쉽게 해결할 수 있다. 문자열을 순회하면서 해당 메소드가 발현될때마다 리턴 값을 1씩 증가시켜 최종값을 얻어내면 해결할 수 있다.
function solution(S) {
let answer = 0;
S.split('').forEach((i) => {
if (i === i.toUpperCase() && i !== i.toLowerCase()) {
answer++;
}
})
return answer;
}
const S = 'KoreaTimeGood';
console.log(solution(S));
대문자의 아스키 넘버는 65에서 90까지이다. 소문자는 97부터 122이다.
따라서, charCodeAt()
메소드를 사용해 문자의 아스키 코드 넘버를 토대로 대소문자를 구분할 수 있다.
function solution(s) {
let answer = 0;
for (let x of s) {
let num = x.charCodeAt();
if (num >= 65 && num <= 90) {
answer++;
}
return asnwer
}
}