20240422 6일차
첫 개인 프로젝트가 발제됐고, 조 편성도 다시 이루어졌다.
개인 프로젝트는 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;
}