컴퓨터 공부 217

Javascript 기본 - 3) Event

- 어떠한 버튼을 클릭했을 때 어떠한 액션이 일어나게 하려면 어떻게 해야 할까? [ Event Listener ] - 위와 같이 마우스를 이용해서 버튼을 클릭할 때는 클릭 "이벤트"가 발생한다. - 이렇게 이벤트가 발생했을 때 어떠한 액션을 위한 함수를 호출하는데 그 함수가 바로 이벤트 리스너 이다. [ addEventListener()] - 이벤트 리스너를 호출하기 위해서는 이벤트 리스너를 해당 객체나 요소에 등록해줘야 한다. - 밑에서부터는 해당 html 을 가지고 예제를 적용할 것이다. Title Email: Submit Submit2 1. 자바 스크립트 코드에서 프로퍼티로 등록 window.onload = function() { // 문..

Javascript 기본 - 2) Window 객체 및 DOM

- window 객체는 브라우저에 의해 자동으로 생성되며 웹 브라우저의 창(window)를 나타낸다. 또한 window는 브라우저의 객체이지 javascript 객체가 아니다. - 이 window 객체를 이용해서 1. 브라우저의 창에 대한 정보를 알 수 있고, 이 창을 제어하고 할 수도 있다. 2. 또한 var 키워드로 변수를 선언하거나 함수를 선언하면 이 window 객체의 프로퍼티가 된다. (ex) - var 로 선언해서 window 객체의 프로퍼티를 만들어야 한다. let과 const는 블록 스코프이기에 window 객체 내부의 블록에서 선언된 것으로 전역 객체의 프로퍼티로 활용될 수 없다.(아래) - 브라우저에서 UI를 볼 수 있는 것은 HTML의 요소를 하나하나 분석해..

Javascript 에서 forEach 함수는 비동기함수를 기다리지 않아요!

🚨 문제 상황 배열에 담긴 요소들을 하나씩 뽑아내는 작업을 할 때 아래와 같은 코드가 있다고 해보자. const allu = new Array(10).fill('dachshund'); const result = [] const asyncFunction = (i) => { return new Promise(resolve => { setTimeout(() => { result.push(i) resolve() }, 1000); }) } allu.forEach(async (_,i)=>{ await asyncFunction(i) }) console.log(result) 위 코드처럼 작성하면 result 값에 원하던 값이 들어가있지 않고 초기의 배열인 빈값이 출력됐다. forEach는 내부에 들어있는 순차적으로배열..

Javascript 기본 - 1) 자바스크립트 JS 기초

- console 객체는 아무 전역 객체에서나 접근할 수 있다. - time과 timeEnd의 매개변수에는 똑같은 문자열을 넣어줘야 한다. - 자바스크립트에서 변수를 선언할 때, var, let, const를 사용한다. 1. [변수 선언 방식] var : 중복 선언과 재할당이 가능하다. let(ES6) : 중복 선언은 불가하며, 재할당은 가능하다. const(ES6) : 중복 선언과 재할당 둘 다 불가능하다.(※ const로 선언했어도 배열과 객체의 값을 변경하는 것은 가능하다.) 2. [유효한 참조 범위] var : 함수 레벨 스코프(function-level-scope) 아래와 같이 함수 내에서 선언된 변수는 함수 내에서만 유효하다. 하지만, 함수 외부에서는 참조할 수 없다. let / const :..

[리트코드/leetcode/python] 1685. Sum of Absolute Differences in a Sorted Array

이 문제는 비교적 간단하지만, 간단하게 풀면 시간초과에 걸리기 때문에 조금은 생각을 해야 하는 문제입니다. 문제에서는 정렬된 정수 배열 nums가 주어집니다. 배열의 각 요소 'i' 에 대해, 해당 요소와 배열 내 다른 모든 요소 'j' 들과의 절대 차이인 |nums[i] - nums[j]| 의 합을 구하는 것이 목표입니다. 이 문제에서 각 원소를 순회하면서 절댓값 계산을 하면 nums의 길이가 10**5 까지 있기 때문에 시간초과가 날 수 밖에 없습니다. 이 문제를 효율적으로 해결하기 위해서는 누적합(prefix)와 역누적합(suffix)를 사용해야 합니다. 누적합(prefix sum)과 역누적합(suffix sum)의 사용은 꼭 알아야 하는 알고리즘 중에 하나입니다. prefix sum에 대해 잠시 ..

반응형