한 개의 문자열을 입력받아 해당 문자열에 알파벳 대문자가 몇 개 있는지 알아내는 프로그램 을 작성하세요.
[입력설명]
첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않습니다.
[출력설명]
첫 줄에 대문자의 개수를 출력한다.
KoreaTimeGood
3
x.toUpperCase()
: x 문자열을 대문자로 변환x.toLowerCase()
: x 문자열을 소문자로 변환console.log(x.toUpperCase(), x)
를 출력해보면, KOREA, korea가 나온다. 즉, x는 변하지 않는다. x의 원본까지 대문자로 변경하고 싶다면, x=x.toUpperCase()
과 같이 작성하면 된다.<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(s){
let answer=0; //카운팅
for(let x of s){
if(x===x.toUpperCase()) answer++;
//console.log(x.toUpperCase(), x) 원리 확인
}
return answer;
}
let str="KoreaTimeGood";
console.log(solution(str));
</script>
</body>
</html>
x.charCodeAt()
: x의 아스키코드를 리턴한다.65~90
(26개)97~122
(26개)32
이다. 만약, 대문자->소문자로 변환하고 싶다면 +32를하면 된다. 반대로 소문자->대문자로 변환하고 싶다면 -32를 하면 된다. <html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(s){
let answer=0; //카운팅
for(let x of s){
let num=x.charCodeAt();
if(num>=65 && num<=90) answer++;
//console.log(num) 아스키 확인
}
return answer;
}
let str="KoreaTimeGood";
console.log(solution(str));
</script>
</body>
</html>
3
9/10