Dev-dotoli TIL

algo 3



Sparta coding



Innovation Camp



  • 14 나누어 떨어지는 숫자 배열

    function solution(arr, divisor) {
      let answer = [];
      let num = [];
      for (i in arr) {
        if (arr[i] % divisor == 0) num.push(arr[i]);
      }
      answer = num.sort(function (a, b) {
        return a - b;
      });
    
      if (num.length == 0) {
        num.push(-1);
      }
      return answer;
    }
    
    // 이해 <br>
    // 1. array element를 divisor로 나눴을때 <br>
    // arr[] / divisor <br>
    // 2. 나머지가 0인값을 모아 오름차순 배열 <br>
    // 새배열.sort() / parameter가 비어있으면 unicode순서 정렬.. <br>
    // 3. 0인값이 없으면 -1return
    
    // 풀이 <br>
    // 1. elelment 추출 <br>
    // 2. element / divisor ===0 이면 새배열에 담기 <br>
    // 3. 담은 element는 오름차순 정리 <br>
    // 4. if실행 후 빈배열이면 -1을 담아서 return <br>
    // JS.sort()는 작동이 까다로움.. a값에서 b값을 빼서 음수,양수로 <br>
    // 잘알려진 방법이 있어 그대로 적용해서 성공함
    


  • 15 내적

    function solution(a, b) {
      var answer = 0;
      for (i in (a, b)) {
        answer += a[i] * b[i];
      }
      return answer;
    }
    
    // const solution=(a,b) =>     for (i in a,b){
    //        answer += a[i]*b[i]
    //    }
    
    // 이해
    // 두배열의 같은 index를 곱하고 그 값들을 더해서 return
    
    // 풀이
    // 배열 길이 랜덤
    // answer += a[i]\*b[i]
    


  • 16 문자열 내 p와 y의 개수

    function solution(s) {
      let answer = true;
      let u = s.toLowerCase();
      // console.log(u)
      let p = u.split("p");
      let y = u.split("y");
      console.log(p, y);
      if (p.length == y.length) {
        answer = true;
      } else {
        answer = false;
      }
      return answer;
    }
    
    // 이해
    // s >  p개수, y개수 구하기
    // 둘이 같으면 true / else false
    // 대,소문자 같은취급
    
    // 대소문자 통일
    // 기준으로 나누고 길이? 를 비교 / ㅇㅋ
    


  • 17 문자열 다루기 기본
    다시해보자

    function solution(s) {
      let p = parseInt(s);
      let a = p / 2;
      let answer = !isNaN(a);
    
      return answer;
    }
    
    // 이해
    // s 길이가 4-6, 모두 int인지 확인 boolean값으로 return
    
    // 풀이
    // string에 숫자가 있는지 확인하는방법 googling
    // Number로 변환이 안되면 문자다?
    // Number(s) > string과 int가 섞여있으면 작동x?
    // isNaN(S) > 숫자가 아닐때 true? x
    // parseInt로 정수변환 후 수식을 실행한 값이 int면 true
    // NaN 이면 false
    // NaN 값을 어떻게 확인?
    


  • 18

    const solution = (seoul) =>
      "김서방은 " + String(seoul.indexOf("Kim")) + "에 있다";
    
    // 이해
    // 배열 seoul 안에는 Kim 이라는 element가 반드시 한개 존재
    // 이 때 Kim의 index를 구하고
    // "김서방은 index에 있다" 라는 string을 return
    
    // 풀이
    // seoul.indexOf(Kim) / 첫번째로 찾은 값의 index return
    // "김서방은 string(seoul.indexOf(Kim))에 있다"
    
    // arrow함수는 성공, 오히려 function코드 실패 / 다시
    //  function solution(seoul) {
    //     let answer = '';
    //     let ik = 0;
    //     ik = seoul.indexOf('Kim')
    //     anwer = "김서방은 " + ik + "에 있다
    //     return answer;
    // }