본문 바로가기

프로그래밍/JavaScript16

[JS] reduce index와 함께 효과적으로 쓰기 / 최솟값 만들기 풀이 예시 / ?? 논리 연산자 [프로그래머스] 최솟값 만들기 문제 예시 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.) 예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면 A에서 첫번째 숫자인 1, B에서 첫번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5) A에서 두번째 숫자인 4, B에서 세번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된 값 :.. 2023. 1. 22.
[Js] Array에서 순서 변경하지 않고 특정 값 삭제하기 🧚🏻‍♀️ / 제일 작은 수 제거하기 [프로그래머스] 제일 작은 수 제거하기 문제 예시 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 제한 조건 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 입출력 예 arr return [4,3,2,1] [4,3,2] [10] [-1] 위 문제에서 array 순서를 바꿔준 채로(sort) 제일 작은 수를 제거하고 return 하면 테스트 케이스 모두 실패가 나온다. 기본 array 순서는 지키면서.. 2023. 1. 21.
[Js] 구조 분해 할당(Destructuring assignment)이란? 💡 이 글은 MDN의 문서 Destructuring assignment의 설명과 예제 코드를 공부하며 살짝 바꿔 정리한 글입니다. 좀 더 자세한 사항을 알고 싶다면 해당 문서 사이트를 방문해 주세요. - 정확한 용어 파악을 위해 영어와 같이 명시했습니다. ✏️ 개념과 문법 구조 분해 할당 구문은 배열(arrays)이나 객체의 속성(properties from objects)을 해체(unpack)하여 그 값을 개별 변수에 담을 수 있게 하는 표현식이다. 내식대로 이해+) 사과 상자에서 제일 좋은 최상급 사과 꺼내고(A), 내가 먹을 것 꺼내고(B_특정 요소 지정), 나머지는 우르르 나머지 상자에 쏟을 수 있다(REST) let a, b, rest; [a, b] = [10, 20]; console.log(a.. 2023. 1. 18.
[JS] this는 도대체 뭘까? this의 개념과 예시 문제 풀이 자바스크립트 다양한 코드를 보다 보면 계속 this가 문득문득 등장하는데 정확한 개념을 이해하지 못해 답답했다. 계속 등장하는 김에 제대로 알고 가자! 어려운 개념인 만큼 잘 설명한 영상을 찾아봤다. 참고 영상 ※ 본 포스팅은 아래 영상 내용을 토대로 공부하며 정리해 작성했습니다. 잘 모르겠다면 직접 영상을 보길 추천합니다. ✏️ this의 개념 대부분의 경우 this의 값은 ⭐️함수를 호출한 방법에 의해 결정된다. 실행중에는 할당으로 설정할 수 없고 함수를 호출할 때마다 다를 수 있다. ES5는 함수를 어떻게 호출했는지 상관하지 않고 this 값을 설정할 수 있는 bind 메서드를 도입했고, ES2015는 스스로의 this 바인딩을 제공하지 않는 화살표 함수를 추가했다. +) 공부해보니 사투리로 이거 .. 2023. 1. 17.
[Js] Array push와 concat의 차이 JavaScript Array의 다양한 메서드를 공부하다 push와 concat의 차이가 궁금해졌다. push는 기존 배열에 원소를 추가하며 새로운 배열의 총길이를 반환하고, concat은 기존 배열을 복사한 후 원소를 추가하며 새 배열을 반환한다. 위 실행 결과를 보면 concat을 해주었을 때는 기존 배열을 바뀌지 않는다. 참고 사이트 [JavaScript] Array push( ) vs. concat( ) 🙂 차이점을 알고 쓰자! 2023. 1. 9.
[JS] 어떤 Number가 제곱수인지 어떻게 알까? / [프로그래머스] 제곱수 판별하기 [프로그래머스 문제 참고] ✏️ 문제 설명 어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 1,000,000 입출력 예 n result 144 1 976 2 입출력 예 설명 입출력 예 #1 144는 12의 제곱이므로 제곱수입니다. 따라서 1을 return합니다. 입출력 예 #2 976은 제곱수가 아닙니다. 따라서 2를 return합니다. 어떻게 특정 Number가 제곱수인지 알 수 있을까? 다행히 여기 잘 활용할 수 있는 메서드가 있다. // Syntax Math.sqrt(x) // Parameters // x는 0보다 크거나 같은 숫자 // 반.. 2023. 1. 7.