본문 바로가기
2. 우당탕탕 개발자/2-1. 공부기록

2021.7.25 TIL (문자열 치환, 대문자 개수 파악 알고리즘)

by Little Monkey 2021. 7. 26.
반응형

문제 ) 'A'를 '#'으로 변환한 문자열을 출력 할 것

 

function changeSharp (str) {
  let answer;
  // code here
  return answer;
}

 

해답 1 )

 

function changeSharp (str) {
  let answer = '';
  
  for(let el of str) { //문자도 for...of~ 구문을 쓸 수 있다
    if (el === 'A') {
      answer += '#';
    } else {
      answer += el;
    }
  };
  
  return answer;
}

 

해답 2)

 

function changeSharp (str) {
  let answer = str;
  answer = answer.replace(/A/g, '#');
  // g가 없을 경우 A가 여러 개 있어도 첫 번째 A만 '#'으로 변환한다.
  
  return answer;
}

 


 

문제 2 ) 문자열의 대문자는 몇 개 인가?

 

function countUpperCase (str) {
  let answer;
  // code here
  return answer;
}

 

해답 1) 

 

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

 

 

해답 2) 아스키코드 이용

대문자는 65 ~ 90, 소문자는 97 ~ 122 임을 이용한다. 

 

function countUpperCase (str) {
  let answer =0;
  for (let el of str) {
    el = el.charCodeAt(); //아스키 코드로 변환
    if(el >= 65 && el <= 90) answer++;
  }
  return answer;
}

 

반응형

댓글