아카이브: 2018

CSS 상대 단위 - em과 rem

반응형 웹디자인이 대두되면서 점점 많은 웹사이트들이 em과 rem라고 불리는 CSS 단위를 이용해서 스타일링이 되고 있습니다.이번 포스트에서는 em과 rem 단위가 실제로 브라우저에서 어떻게 동작하는지 정확히 알고 좀 더 적재적소에 사용하는 방법에 대해서 알아보도록 하겠습니다. 상대 단위란?상대(relative) 단위란 고정되지 않고 어떤 기준에 따라서 유

[파이썬] PriorityQueue(우선순위 큐) 사용법

데이터를 정렬된 상태로 저장하기 위해서 사용하는 파이썬의 PriorityQueue(우선순위 큐)에 대해서 알아보겠습니다. 우선순위 큐 자료구조우선순위 큐는 데이터를 추가한 순서대로 제거하는 선입선출(FIFO) 특성을 가진 일반적인 큐의 자료구조와 달리,데이터 추가는 어떤 순서로 해도 상관이 없지만, 제거될 때는 가장 작은 값을 제거하는 독특한 특성을 지닌

[알고리즘] Lowest Common Ancestor of a Binary Tree 풀이

Leetcode의 Lowest Common Ancestor of a Binary Tree 문제를 풀어보도록 하겠습니다. 문제주어진 이진 트리에서 두 개의 노드의 최저 공통 조상(Lowest Common Ancestor, LCA)을 찾아라. 최저 공통 조상(LCA)이란 주어진 이진 트리 내에서 두 개의 노드 p, q를 후손으로 가지면서 가장 낮은 레벨에 위치

[파이썬] heapq 모듈 사용법

데이터를 정렬된 상태로 저장하기 위해서 사용하는 파이썬의 heapq(힙큐) 내장 모듈에 대해서 알아보겠습니다. 힙 자료구조heapq 모듈은 이진 트리(binary tree) 기반의 최소 힙(min heap) 자료구조를 제공합니다.자바에 익숙하신 분이라면 PriorityQueue 클래스를 생각하시면 이해가 쉬우실 것 같습니다. min heap을 사용하면 원소

[자바스크립트] 비동기 처리 3부 - async/await

이전 두 개의 포스트를 통해서 기존에 자바스크립트로 어떻게 비동기 처리 코드를 작성해왔는지에 대해서 살펴보았습니다.이번 포스트에서는 좀 더 개선된 방식으로 비동기 처리를 할 수있도록 도와주는 async/await에 대해서 알아보도록 하겠습니다.async/await를 제대로 시용하려면 Callback과 Promise에 대한 이해가 무엇보다 중요하오니 아래 포

[자바스크립트] 비동기 처리 2부 - Promise

많은 분들이 자바스크립트 공부를 하시다가 프라미스(Promise)에 때문에 그만 두시곤 합니다.이번 포스트에서는 자바스크립트에서 비동기 처리를 위해 굉범위하게 사용되는 Promise에 대해서 알아보겠습니다. 콜백 함수를 통한 비동기 처리의 문제점ES6에서 Promise가 도입되어 지금처럼 널리 사용되기 이전에는 주로 콜백 함수를 다른 함수의 인자로 넘겨서

[자바스크립트] 비동기 처리 1부 - Callback

자바스크립트의 콜백 함수와 비동기 함수애 대해서 혼란스러워 하시는 분들이 주변에 많은 것 같아서 개념 정리를 해보고자 합니다.이번 포스트에서는 실제 프로젝트에서 자주 접할 수 있는 유저 데이터 조회 시나리오를 통해 콜백 함수를 이용한 비동기 처리에 대해서 알아보겠습니다. 콜백 함수유저 ID를 인자로 받아 DB나 API 연동 없이 임의의 유저 객체를 리턴하는

[알고리즘] Search in Rotated Sorted Array 풀이

Leetcode의 Search in Rotated Sorted Array 문제를 풀어보도록 하겠습니다. 문제오름차순으로 정렬된 배열이 어떤 포인트(pivot)를 기준으로 회전되다고 가정해보자.(예를 들어, [0,1,2,4,5,6,7]은 [4,5,6,7,0,1,2]로 회전될 수 있다.) 어떤 값이 주어졌을 때, 그 값이 배열내에서 찾아지면 그 값의 인덱스를

[알고리즘] Merge k Sorted Lists 풀이

Leetcode의 Merge k Sorted Lists 문제를 풀어보도록 하겠습니다. 문제K개의 정렬된 링크드 리스트를 하나의 정렬된 링크드 리스트로 합쳐라. 예 Input: 12345[ 1->4->5, 1->3->4, 2->6] Output: 11->1->2->3->4->4->5->

[알고리즘] Find First and Last Position of Element in Sorted Array 풀이

Leetcode의 Find First and Last Position of Element in Sorted Array 문제를 풀어보도록 하겠습니다. 문제정수로 이뤄진 nums라는 배열이 오름차순으로 정렬되어 있을 때, target 값의 시작 위치와 끝 위치를 구하라.target 값이 nums 배열에서 발견되지 않는 경우에는 [-1, -1]을 리턴하라.알고리