javascript 24

자바스크립트 호이스팅이란? TDZ Temporal Dead Zone

호이스팅이란 인터프리터가 변수와 함수의 메모리 공간을 선언전에 미리 할당을 하는것을 뜻한다. 쉽게 표현하면 스코프 내부 어디서든 변수선언은 최상위에 선언된것처럼 보여진다. 여기서 말하는 스코프란 변수에 접근할수 있는 범위를 뜻한다. 즉 전역 스코프에 선언된 변수는 전역에서 접근이 가능하고 , 지역 스코프에 선언된 변수는 해당 지역 스코프내에서 접근이 가능하다. 다시 호이스팅에 대해 알아보자면, 호이스팅을 확인 할 수 있는 부분은 var 변수와 , 함수 선언문이 있다. var 변수부터 알아보면 console.log(variable); // undefined var variable = 'hello world'; variable이라는 변수가 선언되고 "hello world" 라는 스트링으로 할당 되기전에 콘솔..

Javascript 2022.09.07

완전탐색(Brute Force) 멘토링

현수네 반 선생님은 반 학생들의 수학점수를 향상시키기 위해 멘토링 시스템을 만들려고 합니 다. 멘토링은 멘토(도와주는 학생)와 멘티(도움을 받는 학생)가 한 짝이 되어 멘토가 멘티의 수학공부를 도와주는 것입니다. 선생님은 M번의 수학테스트 등수를 가지고 멘토와 멘티를 정합니다. 만약 A학생이 멘토이고, B학생이 멘티가 되는 짝이 되었다면, A학생은 M번의 수학테스트에서 모두 B학생보다 등수가 앞서야 합니다. M번의 수학성적이 주어지면 멘토와 멘티가 되는 짝을 만들 수 있는 경우가 총 몇 가지 인지 출력하는 프로그램을 작성하세요. 1) 입력 첫 번째 줄에 반 학생 수 N(1

알고리즘 2022.09.06

자바스크립트 문자열 압축 알고리즘

알파벳 대문자로 이루어진 문자열을 입력받아 같은 문자가 연속으로 반복되는 경우 반복되는 문자 바로 오른쪽에 반복횟수를 표기하는 방법으로 문자열을 압축하는 프로그램을 작성하시오.(단 반복회수가 1인경우 생략) 입력예제 AAABBBBCDDDD 출력예제 A3B4CD4 function solution(s) { let result = ""; let count = 1; for (let i = 0; i 1) { result = result + s[i] + String(count); count = 1; } else { result = result + s[i]; } } }..

알고리즘 2022.09.01