알고리즘(with TS)

알고리즘 풀이 1)11-14번

2023. 1. 14. 00:15

11. 대문자 찾기

 

function solution11(str:string):number {
  let answer = 0;  
  for(let char of str){
    if (char === char.toUpperCase()) answer++;
  }
  return answer;
}
console.log(solution11('KoreaTimeGood'));

 

 

12. 대문자로 통일
 
function solution12(str:string):string{
  return str.toUpperCase();
}
console.log(solution12('ItisTimeToStudy'));

*다른 로직 : 소문자 아스키코드-32 ->대문자 아스키코드

[ASCII code]

영어 대문자 : 65~90

영어 소문자 : 97~122

이 정도는 외워두면 좋다고한다!

 

 

13. 대소문자 변환
 
function solution13(str:string):string {
  let answer = '';
  for(let char of str){
    char===char.toUpperCase() ? answer+=char.toLowerCase() : answer+=char.toUpperCase()
  }
  return answer;
}
console.log(solution13('StuDY'));

 

 

14. 가장 긴 문자열
 
function solution14(arr:string[]):string {
  return arr.sort((a:string, b:string)=>(b.length-a.length))[0]
}
console.log(solution14(['teacher','time','student','beautiful','good']));

//--------강의 풀이-------
function solution14_1(arr:string[]):string {
  let answer="", max=Number.MIN_SAFE_INTEGER;
    for(let str of arr){
      // 크기 비교해서 더 큰 수가 있을 때마다 그 값을 max값으로 변경
      if(str.length > max){
        max=str.length;
        answer=str;
      }
    }
  return answer
}
console.log(solution14_1(['teacher','time','student','beautiful','good']));

Number.MAX_SAFE_INTEGER 는 JS에서 안전한(정수를 정확하고 올바르게 비교할 수 있는) 최대 정수값을 나타낸다.

 

 

 

오늘부터는 타입스크립트 연습도 할 겸 알고리즘을 TS로 풀어보기로 했다.

안그래도 스터디멤버가 타입스크립트로 풀어낸걸 보고 대단하다고 생각했는데

이번 기회에 도움을 받아서 자바스크립트 풀이에 타스를 적용해 볼 수 있었다. 이제 차근차근 익숙해져보자!!