자바스크립트
-
[알고리즘 문제] 최소직사각형알고리즘 2022. 11. 23. 20:42
내가 푼 정답 function solution(sizes) { var answer = 0; var tempx = [] var tempy = [] for (i = 0; i < sizes.length; i++) { if (sizes[i][0] < sizes[i][1]) { tempx.push(sizes[i][1]) tempy.push(sizes[i][0]) } else { tempx.push(sizes[i][0]) tempy.push(sizes[i][1]) } } answer = Math.max(...tempx) * Math.max(...tempy) return answer; }
-
[알고리즘 문제] 이상한 문자 만들기알고리즘 2022. 11. 23. 20:31
내가 푼 정답 function solution(s) { var answer = ''; temp = s.split(" "); for (const a of temp) { for (const i in a) { if (i % 2 === 0) { answer += a[i].toUpperCase() // 짝수번째면 대문자로 } else { answer += a[i].toLowerCase() // 홀수번째면 소문자로 } } answer += " " } return answer.slice(0, -1); }
-
[JavaScript] 기본형 vs 참조형 / call by value / 깊은 복사 vs 얕은 복사JavaScript 2022. 11. 19. 17:10
1. 기본형 데이터와 참조형 데이터 JS Basics #1 - JS 기본형과 참조형 차이점 정리 기본형과 자료형의 차이 자바스크립트의 두가지 타입인 기본형과 자료형의 정의에 대해 알아보고 두 타입간의 차이점이 발생하는 원인에 대해 알아보겠습니다. 자바스크립트 데이터 타입은 크 webclub.tistory.com 자바스크립트 데이터 타입은 크게 두가지인 원시형(Primitive Type)과 참조형(Reference Type)으로 분리된다. 기본(원시)형에는 Number, String, Boolean, null, undefined 가 있으며 ES6 에서는 Symbol 도 추가되었다고 한다. 참조형은 대표적으로 객체(Object)가 있고 그 하위에 배열(Array), 함수(Function), 정규표현식(Reg..
-
[20221112] 자바스크립트 함수에 대한 고찰 (feat. 항해99 프리온보딩 6일차)TIL 2022. 11. 12. 20:05
선언적 함수와 익명 함수의 차이에 대한 고찰 선언적 함수와 익명 함수는 본질적으로 같다. 사실 선언적 함수는 함수 자체이고 자료형이라 말하기 어려운데, 자바스크립트에서 선언적 함수를 선언할 시 이를 자료형으로 만들어주기위해 함수의 이름으로 "let 함수이름 = function 함수이름 () {}" 이런식으로 강제로 자료형에다가 할당을 하게 되기 때문이다. 이런 이유로 자바스크립트에서는 함수를 자료형으로 취급할 수 있고, 이러한 이유로 콜백함수역시 존재하게 되는 것이다. 그런데 이렇게 강제로 선언적 함수를 자료형에 할당하기위해서는 웹브라우저가 순서대로 읽는 것이 아니라 자기가 강제로 처리할 것들을 먼저 처리하게 된다. 이것을 변수 호이스팅이라고 한다. 여기에 대해 아주 구체적으로 설명한 블로그 링크를 첨부..
-
[JavaScript] 콜백 함수, 화살표 함수, 타이머 함수JavaScript 2022. 11. 12. 17:10
1. 콜백 함수 자바스크립트에서는 함수도 하나의 자료형이므로 매개변수로 전달할 수 있다. 이렇게 매개변수로 전달하는 함수를 콜백 함수라고 한다. 아래의 예제는 콜백함수로 익명함수를 사용했을 때의 코드이다. 2. 콜백 함수를 활용하는 함수 배열이 갖고 있는 메소드 중에서 콜백 함수를 활용하는 메소드는 다음과 같은 형태의 콜백함수를 사용한다. 아래의 경우 콜백 함수의 매개변수를 온전히 입력한 것으로, 때에 따라 필요한 것만 입력하여 사용할 수 있다. 일반적으로는 value만 또는 value와 index만 사용하는 경우가 많다. 다만 사용하고자 하는 것의 위치와 순서에 맞게 입력하여야 한다. function (value, index, array) {} forEach() : forEach() 메소드는 배열이 갖..
-
[JavaScript] 함수 (익명 함수vs선언적 함수, 나머지 매개변수, 전개 연산자, 기본 매개변수)JavaScript 2022. 11. 11. 17:56
1. 익명함수 VS. 선언적 함수 익명함수는 말그대로 이름이 없는 함수이다. 따라서 익명함수를 선언하고 사용하기 위해서는 변수에 넣어서 사용하여야 한다. 즉, 함수를 정의시 "function () {}"와 같이 이름이 부여되지 않기 때문에, let 함수 = function () {};"와 같이 변수에 넣어서 호출해야한다. 선언적 함수는 함수를 선언할 때 이름을 붙여주는 함수를 말한다. "function 함수() {}"와 같이 선언하므로 따로 변수에 넣어주지 않고 선언할 때 붙여준 이름으로 호출하면 된다. 둘다 호출하는 방식은 똑같이 "함수()"가 된다. 다시 말하자면 함수 자체의 이름이 있냐 없냐(function 옆에 있는 이름)에 따라 달라지므로 let으로 변수에 넣는 것은 함수를 구분하는데 의미가 없..
-
[JavaScript] 배열(Array), for/while 반복문JavaScript 2022. 11. 10. 21:22
1. 배열 (Array) 배열은 여러 개의 변수를 한 번에 선언해 다룰 수 있는 자료형이다. 배열 내부에 들어있는 값을 요소라고 하고, 요소의 순서를 인덱스라고 한다. 배열은 보통 여러개를 갖기 때문에 일반적으로 배열 이름을 복수형으로 짓는다. const numbers = [273, 52, 103, 32] // 배열[인덱스] numbers[0] // 배열 요소 개수 확인하기 numbers.length //4 numbers[numbers.length - 1] // 맨 마지막 요소 출력 // 배열 뒷부분에 요소 추가하기 numbers.push('사과') numbers // [273, 52, 103, 32, '사과'] // 인덱스를 활용해 배열 뒷부분에 요소 추가하기 numbers[numbers.length]..