[TIL006] 개인 프로젝트 첫 발제

SEONG CHAN LEE·2024년 4월 22일

TIL

목록 보기
6/53

20240422 6일차

💻오늘 배운 것들 요약!

  1. 자바스크립트 문법 강의 수강
  2. 첫번째 개인 프로젝트 발제
    TMDB를 활용한 프로젝트 만들기

하루회고

첫 개인 프로젝트가 발제됐고, 조 편성도 다시 이루어졌다.
개인 프로젝트는 TMDB API를 활용해 바닐라 자바스크립트로 영화 리스트, 검색 UI 구현하는 것이다. 아직 자바스크립트에 배움이 더 필요하다 생각해 오늘은 하루종일 자바스크립트 강의만 들었다. 가장 어려웠던 강의 내 코딩테스트 문제를 TIL에 적어보았다. 이 속도라면 정말 부트캠프 내내 힘들 것 같다.. 더 열심히 공부해야겠다.


코딩 테스트 풀이

문제

대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.

예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다.

입출력 예 #1
'p'의 개수 2개, 'y'의 개수 2개로 같으므로 true를 return 합니다.

입출력 예 #2
'p'의 개수 1개, 'y'의 개수 2개로 다르므로 false를 return 합니다.

function solution(s){
    var answer = true;

    // [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
    console.log('Hello Javascript')

    return answer;
}

풀이

먼저 대소문자는 구분하지 않기 때문에 문자열 s를 모두 통일시키기 위해 대문자화 혹은 소문자화 시켜야한다. 나는 대문자화했다.

s = s.toUpperCase();

하나의 변수 num을 설정하고, for문으로 문자열 s를 순회하며 하나씩 문자를 확인해 P와 Y의 개수를 확인할 수 있도록 한다.

P의 개수가 확인될 때마다 그 변수는 값이 증가하고,
Y의 개수가 확인될 때마다 그 변수는 값이 감소하게 한다.
num이 0이면 true, 그렇지 않으면 false를 반환한다.

  var num = 0;
   for (var i = 0; i < s.length; i++) {
    if (s[i] === "P") num++;
    if (s[i] === "Y") num--;
  }
    result = num === 0;
    return result;
}
profile
Develop myself

0개의 댓글