분류 전체보기(112)
-
[TIL] 23.04.10.
오늘의 학습 내용 알고리즘 마라톤 자바스크립트 동작 원리 새로운 배움 지수 표현식의 함정 자바스크립트 실행 컨텍스트 문제 코딩테스트 문제 중 문자열을 다루어야 하는 문제가 있었다. 특정 문자열이 주어질 때, 해당 문자열의 길이와 문자열의 구성문자들이 모두 숫자인지 확인하는 문제였다. 자바스크립트 묵시적 형변환을 통해 해당 문자열 전체를 임의의 숫자로 나누어 나누어 지면 숫자로 판단하려 하였다. 문자열은 임의로 생성되므로 다양한 경우의 수가 있는데 특정 조합의 경우 앞파벳 문자가 포함되어 있더라도 숫자로 인식하고 나누기가 정상적으로 수행되었다. 시도 묵시적 형변환의 문제라고 생각하고 명시적으로 Number(), isNaN() 를 사용해 숫자로 형변환을 시도 하였다. 하지만 묵시적 형변환에서 형이 변환 되는..
2023.04.11 -
[JS] 자바스크립트 실행컨텍스트 Execution Context (1)
JS Execution Context 실행컨텍스트란 코드에 제공할 환경정보를 모아둔 객체 호이스팅, 외부환경정보 구성, this값 설정 콜스택이라는 스택에 실행정보를 쌓아두면서 자바스크립트 코드의 실행순서를 보장 받을 수 있도록 한다. 코드 실행 순서 보장 var a = 1 function outer(){ function inner(){ console.log("inners console : ",a) var a =3 } inner() console.log("outers console : ", a) } outer() console.log("console : ",a) 위와 같은 자바스크립트 코드가 있을때 위의 실행정보는 다음의 순서로 콜스택에 들어가게 된다. console.log()도 모두 콜스택에 실행 컨텍..
2023.04.11 -
최소직사각형
최소직사각형 코딩테스트 연습 > 완전탐색 > 최소직사각형 문제 설명 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다. 아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다. 명함 번호 가로 길이 세로 길이 1 60 50 2 30 70 3 60 30 4 80 40 가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로)..
2023.04.10 -
[TIL] 23.04.08.
오늘의 학습 내용 알고리즘 마라톤 자바스크립트 동작 원리 새로운 배움 1. 자바스크립트 Array.sort()의 함정 문제 여러 직사각형 사이즈가 주어질때 주어진 모든 직사각형 사이즈를 포함할 수 있는 최소 직사각형 사이즈를 구하는 알고리즘 문제를 풀고 있었다. 고스톱 칠때나 카드를 섞어서 정리할때 일단 모든카드의 짧은면은 짧은면끼리 긴면은 긴면끼리 오게 한다음 정리하는 것을 생각해서 주어진 직사각형 사이즈의 크기를 긴면과 작은면으로 구부한뒤 정렬을 통해 각각의 면에서 가장 큰 사이즈를 찾아서 구하려고 로직을 작성 하였다. 테스트 케이스는 통과하는데 실제로 제출을 할 경우 50% 정도의 테스트 케이스에서 적절한 답을 제출하지 못했다... 뭐가 문제지.. 시도 생각한 로직이 문제인가 싶어서 다른 방식도 생..
2023.04.08 -
[TIL] 23.04.07.
오늘의 학습 내용 알고리즘 마라톤 자바스크립트 구조 이해 새로운 배움 1. `통상적으로` 쓰이고 있는 자바스크립트 코드 규칙 상황 코딩테스트 문제를 풀기 위해 원하는 로직을 수행하는 메서드가 있는지 검색하고 있었다. 자바스크립트 Array를 생성하면서 동시에 등차수열을 Array에 넣어둔 채로 초기화하고 싶어서 구글링을 하던 과정에서 적합한 방법을 찾아서 시도해 보았다. How to create an array containing 1...N I'm looking for any alternatives to the below for creating a JavaScript array containing 1 through to N where N is only known at runtime. var foo = [..
2023.04.07 -
[WIL] 23.04.03. - 23.04.06.
이번주에 배운 내용 JavaScript 자바스크립트 기본 문법 자바스크립트 문법 강의를 들었다. 기본 문법은 어느정도 숙지하고 있었지만 전체적으로 강의를 들으면서 놓치고 있던 부분들을 정리할 수 있는 시간이 되었다. 자바스크립트 함수 선언 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/function 함수 선언의 방식은 Function 생성자를 통한 생성과 함수표현식(function expression)을 통한 선언을 나뉜다. 동일한 기능을 하는 함수를 선언함으로서 두 선언 방식의 문법적 차이를 알아보았다. // Function 생성자 function addByFunction(x, y) { return x + y; } ..
2023.04.07