자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다.
📋 문제
대문자와 소문자가 같이 존재하는 문자열을 입력받아 모든 문자를 대문자로 바꾼 후 바뀐 문자열을 출력한다.
👉 입력
길이가 100을 넘지 않는 문자열이 입력된다.
👈 출력
대문자로 통일된 문자열을 출력한다.
💡 사용된 개념
String.fromCharCode()
인자로 주어진 유니코드(UTF-16)들로부터 문자열을 생성해 반환한다.
📝 풀이
<script>
function solution(s) {
let answer = "";
for (const a of s) {
answer += a.toUpperCase();
}
return answer;
}
let str = "ItisTimeToStudy";
console.log(solution(str));
</script>
주어진 문자열의 각 문자들을 순회하며 빈 문자열인 answer에 해당 문자의 대문자를 추가해나간다.
다른 방법으로는 String.fromCharCode()를 사용하는 방법이 있다.
<script>
function solution(s) {
let answer = "";
for (const a of s) {
if (a.charCodeAt() >= 97 && a.charCodeAt() <= 122) {
answer += String.fromCharCode(a.charCodeAt() - 32);
}
else answer += a;
}
return answer;
}
let str = "ItisTimeToStudy";
console.log(solution(str));
</script>
주어진 문자열의 문자들을 순회한다.
만약 해당 문자가 소문자라면(해당 문자의 chatCodeAt() 값이 97 ~ 122) String.fromCharCode()를 이용하여 해당 문자의 대문자에 해당하는 유니코드 값을 넣어 그 값을 빈 문자열 answer에 추가해준다.
조건에 걸리지 않으면 이미 대문자이므로 그냥 answer에 문자를 추가한다.
'a'.charCodeAt() 값이 97이고 'A'.charCodeAt()이 65이므로 둘의 차이는 32임을 이용한 것이다.
'Algorithm > JavaScript' 카테고리의 다른 글
[basics] 대소문자 변환 (0) | 2021.12.06 |
---|---|
[basics] 가장 긴 문자열 (0) | 2021.12.06 |
[basics] 대문자 찾기 (0) | 2021.12.05 |
[basics] 문자 찾기 (0) | 2021.12.05 |
[basics] A를 #으로 (0) | 2021.12.05 |
댓글