분류 전체보기 275

Javascript - OOP, prototype, ES6 Classes, Inheritance, super()

객체 지향 프로그래밍(OOP)는 Java 및 C++ 를 비롯한 많은 프로그래밍 언어의 기본이 되는 프로그래밍 패러다임이다. 객체 지향 프로그래밍은 여러개의 독립된 단위 '객체'들의 모임으로 컴퓨터 프로그램을 파악한다. => 객체지향 프로그래밍은 객체들의 모임이다. 객체 지향 프로그래밍이 나오기 이전에는 명령어의 목록을 나열(절차 지향) 하는 기능 구현을 목적으로 작성했지만, 이렇게 코드를 길게 작성하다 보면, 매우 알아보기 힘든 복잡한 코드가 만들어진다. 그래서, 하나의 문제 해결을 위한 독립된 단위인 "객체"로 만들었으며, 이 객체로 인해 알아보기 쉽고 재사용성이 높아졌다. [ OOP의 특징 ] 1) 자료 추상화(Abstractio..

[백준/알고리즘/python/java] 2589번 - 보물섬

오늘은 백준 2589번 '보물섬' 문제에 대해 가져와봤습니다. 해당 문제는 전형적인 bfs 문제인데, 우리가 이런 BFS 문제를 풀 때 놓치면 안될 점들을 상기하면서 문제를 설명드리겠습니다. "보물섬"문제는 주어진 지도에서 최단거리로 갈 수 있는 가장 먼 거리에 있는 두 지점을 찾는 문제입니다. 지도는 'L'(땅)과 'W'(바다)로 구성되어 있으며, 이동은 상하좌우로만 가능합니다. 이 문제의 핵심은 가장 긴 최단 거리를 찾는 것입니다. 해당 문제를 봤을 때, 뭔지 정확히는 모르셔도 '전형적인 그래프 탐색 알고리즘일 것이다' 라고 느끼셨을 겁니다. 맞습니다. 저는 이 문제를 보고 'bfs 알고리즘을 활용하면 뭔가 풀릴 것 같은데?' 라는 직감을 느꼈습니다. BFS 알고리즘을 이용하면 모든 가능한 경로를 탐..

Remove Non-alphanumeric Characters in Python

알고리즘 문제를 풀다가 "Non-alphanumeric Characters" 와 관련한 문제에 직면했다. 비단, 알고리즘 문제 뿐만 아니라 사용자 입력을 정리하거나 데이터를 추출하는 데에도 이러한 "Non-alphanumeric Characters"를 삭제하는 방법을 알면 유용할 것 같은 생각이 들었다. https://leetcode.com/problems/valid-palindrome/description/?envType=study-plan-v2&envId=top-interview-150 Valid Palindrome - LeetCode Can you solve this real interview question? Valid Palindrome - A phrase is a palindrome if, a..

Javascript 중급 - 4) IIFE (Immediately Invoked Function Expression), Intersection observer, 순수 함수, 커링, strict mode

즉시 실행 함수 표현(IIFE, immediately Invoked Function Expression) 은 정의되자마자 즉시 실행되는 Javascript Function을 말한다. 기본적인 형태는 아래와 같다. ( function () { // pass } )() 첫 번째() 소괄호 => 전역 선언 막고, IIFE 내부 안으로 다른 변수 접근 막는다. 두 번째() 소괄호 => 즉시 실행 함수를 생성하는 괄호, 이를 통해 자바스크립트 엔진은 함수를 즉시 해석 및 실행한다. [ IIFE의 주된 사용목적 ] IIFE를 사용하는 주된 이유는 변수를 전역(global scope)으로 선언하는 것을 피하기 위해서이다. 또한..

Javascript 중급 - 3) undefined vs null, 얕은 비교 vs 깊은 비교, 얕은 복사 vs 깊은 복사, 함수 표현식 vs 함수 선언문

※ 공통점 둘 다 원시 자료형(primitive) 이다. undefined 타입은 undefined 값이 유일하며, null 타입은 null 값이 유일하다. (단, typeof null 을 찍어보면 object 라고 나오는데, 처음에 만들 때 잘못해서 이걸 고치면 너무나 많은 오류가 나와서 그대로 나뒀다고 한다. 그래서, 타입스크립트에서는 strict 키워드를 통해 찍어보면 object가 아니라고 한다.) 1) undefined - undefined 는 '아무 값도 할당받지 않은 상태'를 의미한다. - var 키워드로 선언한 변수는 호이스팅으로 올라간 후 undefined로 초기화된다. 그 이후 인터프리터가 해당 소스코드에 도달했을 때 할당한 값이 들어가게 된다...

반응형