전체 카테고리

· 개념
인터럽트(Interrupt)란? 프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우 현재 실행중인 작업을 중단하고 발생된 상황을 처리한 후 다시 실행중인 작업으로 복귀하는 것을 의미한다. 인터럽트의 종류 인터럽트는 크게 외부 인터럽트, 내부 인터럽트, 소프트웨어 인터럽트로 나뉜다. (중요도는 소프트웨어 인터럽트가 가장 낮다.) 외부 인터럽트 🔥 원인이 외부에서 기인한 인터럽트를 의미한다. 전원 이상 인터럽트(Power fail interrupt) : 정전, 파워 이상, 절전 모드(?) 등 기계 착오 인터럽트(Machine check interrupt) : CPU의 기능적인 오류 외부 신호 인터럽트(External interrupt) 타이머에 의한 인터럽트 : preemptive(선점형) 개념을 생..
· 알고리즘
문제 ✨ N개의 여러 단위 동전이 주어질 때 거스름돈 M을 거슬러 줄 동전의 최소 개수를 구해라 Cf. 첫 번째 줄에는 동전 종류 수 N(1
🐣 객체 Property 객체는 기본적으로 { } 의 형태로 정의하며, 내부에는 key : value 의 형태로 프로퍼티를 가진다. const superman = { name: 'clark', age: 33 } 접근 superman.name superman["age"] 추가 superman.gender = 'male'; superman["hairColor"] = 'black'; 삭제 객체의 프로퍼티를 제거하기 위해서는 delete [객체의 프로퍼티] 형태로 호출할 수 있다. delete superman.hairColor; 단축 프로퍼티 아래와 같이 key : value 형태가 아닌 이미 값이 할당되어 있는 변수만을 전달하면, 해당 변수의 key와 value값이 해당 프로퍼티의 key와 value값으로 자..
🐣 함수 선언문 function test() {} 어디서는 호출 가능하다(변수도 마찬가지). 이는 인터프리터 언어의 특징이며 호이스팅(hoisting)때문이다. cf. 호이스팅(hoisting) : 자바스크립트는 실행전 초기화단계에서 모든 선언문을 찾아서 생성해두기 때문이다. 🐣 함수 표현식 let test = function() {} 자바스크립트가 해당 블록에 도착해야 생성된다. 호이스팅에 영향을 받지 않아 함수 선언문보다 더 자유롭게 작성 가능하다. 유용하게 사용되는 경우 클로져로 사용 콜백으로 사용(다른 함수의 인자로 전달 가능)
🐣 함수의 선언 및 정의 // 함수 선언(정의) function hello(name) { let msg = `hello`; if (name) { msg += ` ${name}!!`; } console.log(msg); } hello("Mike"); // 함수 호출 🐣 변수 전역 변수 함수 바깥에 있는 변수 지역 변수 함수 내부에 있는 변수 함수 내부에서 전역변수의 값을 변경시키면 이후에도 유지된다. let msg = "Hello"; console.log("함수 호출 전"); console.log(msg); // Hello function hello(name) { if (name) msg += `${name}!!`; console.log("함수 내부"); console.log(msg); // Hello M..
🐣 자료형 문자열 const name1 = "Mike"; const name2 = 'Mike'; const name3 = `Mike`; // 벡틱 const message = `My name is ${name}`; console.log(message); // My name is Mike cf. 템플릿 리터럴(ES6부터 도입된 문자열 표기법) : 벡틱, 달러 벡틱 내부에 변수 사용 시 ${} 사용(”, ‘ 사용시 변수 치환되지 않음) 숫자 const val = 0/2; console.log(val); // Infinity const name = "Mike"; const y = name/2; console.log(y); // NaN null & undefined null : 객체가 아님에 유의할 것. 존재하..
🐣 변수 유형 JavaScript에는 크게 세 가지 유형의 변수가 존재한다. var, let, const가 있다. let과 const는 ES6부터 사용되기 시작한 변수 타입으로, 기존의 var와는 성격을 달리한다. var ES5까지 변수를 선언할 때 사용하는 키워드로, 중복된 이름의 변수를 정의할 수 있으며, 함수 스코프(Function-level scope)를 가진다. let ES6부터 사용되기 시작한 키워드이다. let으로 변수를 선언할 경우 중복된 이름의 변수를 정의할 수 없으며, let 변수는 블록 스코프(Block-level Scope)를 가진다. const let과 함께 ES6부터 사용되기 시작한 키워드이다. 그 값이 변하지 않는 상수를 선언할 때 사용되어 중복된 이름의 변수를 선언할 수 없으..
· 알고리즘
문제 ✨ 풀이 ✨ 좌표(Point)를 저장하는 큐를 생성한다. 처음에 각 좌표의 값(0 또는 1 또는 -1)을 입력받을 때 1인 경우에는 미리 큐에 넣어두어 첫 날에 4방위를 토마토를 익게 하는 기준점들이 되게 한다. 상하좌우의 좌표를 확인하기 위해 y축에서 이동해야 하는 수와 x축에서 이동해야 하는 수를 크기가 4인 배열로 각각 만들어서 그 좌표가 1 ~ N 또는 1 ~ M의 크기이고, 그 값이 0이라면 1로 변화시킨다. 주의해야 할 점은, 검사한 좌표의 값이 -1일 경우에는 변화할 수 없으며 처음에 입력받을 때 좌표 값이 -1인 경우 1일 때와 같이 cnt를 올린다. 작성 코드 ✍️ import java.util.LinkedList; import java.util.Queue; import java.u..
· 알고리즘
주요 개념 ✨ 가중치 방향 그래프 방향을 지닌 그래프로, 각 edge에 가중치를 가진다. 다익스트라 알고리즘 특정한 하나의 정점에서 다른 모든 정점으로 가는 최단 경로를 알려주는 알고리즘이다. 가중치 방향 그래프에서 다익스트라 알고리즘을 이용할 때는 간선의 가중치가 음수이면 안되는 점을 유의해야 한다. (0은 될 수 있다.) 문제 ✨ 가중치 방향그래프에서 1번 정점에서 모든 정점으로의 최소비용을 출력하시오. (2번 정점부터 출력) 풀이 ✨ 메모이라이즈할 배열 변수를 두어 1부터 각 노드로의 거리비용을 저장한다. 해당 배열에 해당 노드의 거리비용 값이 있는 경우 새로운 값이 더 작을 때에만 그 값을 대체한다. 이 때 문제는 N개의 노드를 대상으로 각 노드로의 거리 비용을 구하기 위해서는 ${n}*{n}$만..
devYH
'분류 전체보기' 카테고리의 글 목록 (7 Page)