부트캠프 React 과정 5.23

김진우·2023년 5월 23일
0

오늘의 목표

  • javaScript 문법 종합만 2주차 까지 완료하기
  • 강의중 모르는거 따로 코드 적어보기

오늘배운것

  • TIL 작성법(특강)
  • javaScript 문법

어려웠던것.
(1)문제 ex: 0부터 10까지의 수중에서 2의 배수만 뽑아보자.
처음에 혼자서 해봤는데

arr[0,1,2,3,4,5,6,7,8,9,10]
for(i=0 ; i<=10 ; i++){
	if(i%=2){ console.log("2의 배수 입니다.") }
    console.log("2의 배수가 아닙니다."); }

조건식도 틀렸고 2로 나눴을때 만 생각해서 0으로 떨어지는것 까지 생각을못했다.
결국 혼자 생각하다가 잘몰라서 . 강의를 듣고 문제 풀이과정을 본후
다음에 . 다시 혼자 문제를 만들어서 해보았다

0부터 10까지 수중에 3의 배수만 뽑아보자
for (let i = 0; i <= 10; i++) {
    if (i > 0) {
        if (i % 3 === 0) {
            console.log(i + "는 3의 배수입니다.")
}}}

이 문제를 풀면서 for문 안에 다른 조건식들을 넣고 더해볼 생각을 가져야 겠다 라고 생각했고
또한 머리속에 생각한것을 자세하게 풀어보자 라고 생각했습니다.

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

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

  • 문자열 s의 길이 : 50 이하의 자연수
  • 문자열 s는 알파벳으로만 이루어져 있습니다.

이 문제가 1주차 강의에 테스트 문제였는데
처음에 문제를 보고 어떻게 해야될지 생각을 했고 강사님 말씀대로 주석으로 해나가야 될것을 적을려고 했다. 근데 for문을 돌려서 갯수가 같으면 true 틀리면 false 여기 밖에 생각이 안나서
강의를 듣고 어떤식으로 문제를 접근 해야 되는지 알게 되고 강의에서는 대문자로 알파벳을 다바꾸어서 하셧는데 소문자로 바꾸면서 내가 처음부터 끝까지 한번 코드를 적어보았다.
function solution(s) {
var answer = true;

    // 소문자로 통일 시키고
    s = s.toLowerCase();

    var num = 0;
    // for문으로 p와 y를 일치되게만든다
    for(var i = 0; i < s.length; i++){
        if(s[i] === "p"){
            num++;
        }
        if(s[i] === "y"){
            num--;
        }
        // 일치되었을때 true 아닐때 false값을 준다.
        if(num === 0){
            answer = true;
        }
        else{
            answer = false;
        }
    }
    return answer;
}

var str1= "pPoooyY";
var str2= "Pyy";

console.log(solution(str2));  

느낀점

  • 오늘 강의를 듣기전 TIL강의처럼 내가 강의를 듣으면서 속도가 늦더라도 모르는건 한번 문제를
    변형해서 처음부터 만들어 보고 해보았는데 그렇게 하지않았을때 보다 머리에 잘 남는 것 같긴 한거 같다. 그래도 한번 생각 해보고 하니깐 비슷한 유형이 필요하게 되었을때에는 확실히 할수있을거같다라는 생각은 들긴 했다.
    또한 모르는 문제와 비슷한 문제를 한번 주말에 또 풀어봐야겠다.
    또 오늘 목표한 것중 javaScript 2주차 완강 하기가 목표였는데
    중간에 노트북 캠화면이 안나와서 2시간 가량을 공중으로 버린거같다.. 내일 더 열심히 듣고 해서
    오늘 못한 부분까지 보충해서 공부를 해야될거같다고 생각했습니다.

0개의 댓글