ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Day 7, 8, 9, 10 모아서 정리! [10일 연속 성공]
    Code Challenge/codewars 2023. 3. 12. 15:54

    간신히 문제만 10일 풀었는데 어제 못해서 깨졌다. 

    10일 연속 성공 !

    다시 오늘부터 시작하기 전에 푼 문제 정리 

    워낙 바빴어서 정말 쉬운 문제들만 모아서 풀었던 터라 나누기 뭐해서 4일 치는 한 번에 정리 하기로

    Square(n) Sum [8kyu] 

    주어진 숫자 배열에 있는 모든 숫자를 제곱한 뒤, 더해서 값을 반환하는 함수

    이전 문제에서 reduce를 배웠던 터라 쉽게 해결

    function squareSum(numbers){
    	const initial = 0;
    	return numbers.reduce((acc, cur) => acc + cur * cur, initial)
    }

    Two Sum [6kyu]

    주어진 배열에서 2개의 숫자를 더해서 target이 나오면 더한 두 개의 숫자의 인덱스를 배열로 반환하는 함수

    어떤 경우든 하나만 발견하면 반환하는 것이므로, 이 중 for문 작성을 먼저 하였고, 내부 for문은 slice라는 함수 대체해서 작성을 해봣다.

    속도는 전자가 더 좋긴 했지만 제출은 후자로 했다. 좀 더 줄일 수 있을 것 같았는데 이 날 일정 상 이게 한계

    function twoSum(numbers, target) {
     /* 
      for (let index = 0; index < numbers.length; index++) {
             for (let idx2 = index+1; idx2 < numbers.length; idx2++) {
                 if(numbers[index] + numbers[idx2] == target) {
                     return [index, idx2]; 
                 }
             }
         } 
     */
       for (let index = 0; index < numbers.length; index++) {
             let t =  numbers.slice(index+1).findIndex(n=> (numbers[index] + n === target));
             if(t != -1) {
               return [index, index + t + 1];
             }
       }   
    }

    Count by X [8kyu]

    x가 주어지면 n번 배수를 만들어서 배열로 반환

    2, 5가 주어지면 2, 4, 6, 8, 10을 반환 

    너무 바빠서 fundamental로 낮춰서 풀었던 것 같다 [..] 더 잘 짤 수도 있었겠지만 쉽게 쉽게..

    function countBy(x, n) {
      let z = [];
      for(let i =1; i <= n; i++) {
        z.push(x * i);
      }
      
      return z;
    }

    Sum of two lowest positive integers [7kyu]

    배열에서 가장 작은 두 개의 수를 고른 뒤 더해서 반환하는 함수

    정수가 아닌 것과 0보다 작은 걸 걸러낸 뒤, Math.min을 사용해서 풀었는데 Math.min은 배열을 받지 않는다는 사실을 배움!

    function sumTwoSmallestNumbers(numbers) {  
      numbers = numbers.filter(a => Number.isInteger(a) && a > 0);
      let min = Math.min(...numbers);
      let min2 = Math.min(...numbers.filter(n => n!= min));
      return min + min2;
    }

    'Code Challenge > codewars' 카테고리의 다른 글

    [2] Day 1. Primes in numbers [5kyu]  (2) 2023.03.12
    Day 6. Break camelCase [6kyu]  (0) 2023.03.06
    Day 4. String ends with? [7kyu]  (0) 2023.03.04
    Day 3. Who likes it? [6kyu]  (0) 2023.03.04
    Day 2. hello world [8kyu]  (0) 2023.03.02
Designed by Tistory.