분류 전체보기(112)
-
[JS] 자바스크립트 실행컨텍스트 Execution Context (2)
Outer(Outer Environment Reference) 외부 환경 참조 Outer Environment Reference 란? 스코프 체인이 가능하도록 외부 환경정보를 참조하고 있다. 즉, 바깥의 L.E.(LexicalEnvironment)를 참조한다. 이때 아우터는 현재 Outer가 속한 실행컨텍스트가 호출될 당시의 정보를 가지고 있다. (자바스크립트 엔진의 동작 매커니즘이기때문에 추상적으로 이해하자면.. 실행컨텍스트가 호출되서 새로 올라오면 그 당시의 스냅샷..이라고 해야할까..프리즈된 정보를 아우터가 가진다고 생각했다.) Scope, Scope Chain 의 개념 여기서 스코프와 스코프체인의 개념을 한번만 짚고 넘어가자.. Scope - 선언된 식별자가 어디까지 유효한지에 대한 범위 Scop..
2023.04.12 -
[TIL] 23.04.12.
오늘의 학습 내용 알고리즘 마라톤 자바스크립트 this 바인딩 메서드 이해 새로운 배움 this를 명시적 바인딩 할때 사용하는 메서드들의 본질적인 기능과 활용에 대해 알게 되었다. call, apply 메서드 활용 관련 작성글 [JS] 자바스크립트 apply, call 개념, 활용 예제 느낀점 모르는 개념이 나와서 찾아보고 익힐 때 마다 관련해서 모르는 개념이 점점 더 등장한다. 지식의 외연이 넓어지는 과정이라고 생각해야겠다. 특히 이번에 call, apply 메서드로 함수를 호출하는 방식을 알게되면서 이를 활용하면 유사객체배열에 응용할 수 있다는 사실도 알게 되었다. 새로운 사실이지만 그 원리를 정확하게 이해하기 위해선 즉시 실행되는 call, apply 메서드에 대한 이해와 동시에 유사배열객체에 대한..
2023.04.12 -
[JS] 자바스크립트 배열 정렬, 조금 남다른 Array.sort()
자바스크립트 내장 객체 Array 자바스크립트에 내장되어있는 객체로 단일 변수명 아래 여러 항목을 모아서 저장 가능하다. Description 서로 다른 데이터 유형을 혼합하여 저장할 수 있다. 0부터 인덱스를 제공한다. 사이즈 리사이징이 가능하다. 다른 프로그래밍 언어와 마찬가지로 자바스크립트도 배열을 제공하고 있다. Array 객체는 다양한 메서드를 가지고 있는데 그중 오늘 살펴볼 녀석은 sort()이다. Array.prototype.sort() 특징 기본 오름차순 정렬 기존 배열을 정렬 (따라서 기존 배열이 변경됨. 기존배열을 보존하고 복사본을 만들어서 정렬하고 싶다면 toSorted()를 사용하자) 매개변수로 비교함수를 가진다. (필수는 아님) 문자열로 변환한 다음 UTF-16 code 단위 값으..
2023.04.11 -
같은 숫자는 싫어
같은 숫자는 싫어 코딩테스트 연습 > 스택/큐 > 같은 숫자는 싫어 문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 제한사항 배열 arr의 크기 : 1,000..
2023.04.11 -
3진법 뒤집기
3진법 뒤집기 코딩테스트 연습 > 월간 코드 챌린지 시즌1 > 3진법 뒤집기 문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수입니다. 문제 풀이 function solution(n) { let tenrnaryNum = n.toString(3) let reverseTenrnary = [...tenrnaryNum].reverse().join('') let decimalNum = parseInt(reverseTenrnary, 3) return decimalNum } 코드 리뷰 다른 풀이 function solution(n) ..
2023.04.11 -
이상한 문자 만들기
이상한 문자 만들기 코딩테스트 연습 > 연습문제 > 이상한 문자 만들기 문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 문제 풀이 function solution(string) { var answer = '' var wordArr = string.split(' ') // 단어 배열 let returnString = [] wordAr..
2023.04.11