1 Byte and The number of bits(1Byte와 bit수)
1bit(비트)는 0과 1의 값을 가질 수 있는 데이터의 최소 단위입니다. 이 bit를 특정갯수 만큼 묶어서, 1byte(바이트)라고 합니다. Byte의 의미 최초의 byte는 ‘하나의 character 데이터를 나타내는데 필요한 bit수’를 의미했습니다. Byte denotes a group of bits used to encode a ...
1bit(비트)는 0과 1의 값을 가질 수 있는 데이터의 최소 단위입니다. 이 bit를 특정갯수 만큼 묶어서, 1byte(바이트)라고 합니다. Byte의 의미 최초의 byte는 ‘하나의 character 데이터를 나타내는데 필요한 bit수’를 의미했습니다. Byte denotes a group of bits used to encode a ...
문제 요약 candies라는 array에는 candy의 갯수(integer type)가 들어있습니다. candies[i]는 ith째 아이(kid)가 가지고 있는 candy의 갯수입니다. extraCandies는 여러분이 가지고 있는 여분의 candy를 의미하며, 이를 각각의 아이에게’만’ 주었을 때, 각각의 아이가 가장 많은 수(Greatest nu...
Overview 몇가지 예시를 통해 big-O표기법에 대해서 이해합니다. 예시 여러개의 문자열을 각각 정렬하고 전체 list에 대해서도 정렬하는 경우 총 N개의 문자열이 있다고 하자, 이때, 각각의 문자열을 알파벳 순으로 정렬하고, 전체 문자열 목록을 사전(Dictionary)순에 따라 정리하는 예시입니다. 이 경우, 문자열 1개를 ...
문제 요약 두 문자열, str1과 str2에서 각각 반복되는 최대 길이의 문자열중 공통된 부분(’x’로 표기)을 찾습니다. 문제 풀이 첫번째 시도 처음에는 문제를 이해하지 못하고(최대공약수 문제인지 모르고), 풀려고 했습니다. 여러 접근법이 머리에 떠오릅니다. str1과 str2를 byte code로 바꾸어서, 각각 ‘-’연산을 하면 0...
‘merge sort’는 ‘Divide and conquer(분할과 정복)’을 사용한 대표적인 알고리즘입니다. 이 ‘Divide and conquer’는 문제를 작게 쪼개서 해결하고, 이를 다시 합침으로서 문제를 해결해 나가는걸 말합니다. ‘Divide and conquer’는 여러 문제해결의 기본이 되곤 하며, 앞으로 부딪히는 문제가 너무 크게...
‘bubble sort’는 가장 기본적인 sort algorithm(정렬 알고리즘)입니다. Time complexity and space complexity Time complexity(시간복잡도) 시간 복잡도는 다음과 같습니다 Best case Average Worst case ...
디스크에 있는 파일을 다른 지역의 친구에게 보낸다고 해보자. 대부분의 사람이, 이메일이나 FTP와 같은 network방식을 떠올리게됩니다. 하지만 파일의 크기가 1TB라면? 이럴때는 자동차를 타고 직접 전달하는게 빠르지 않을까? 이렇게 어떤 행위(컴퓨터에선 알고리즘을 의미)에 대한 비용을 어떻게 비교할까요? 여기선 컴퓨터에서 효율성을 비교하는 방법을 ...
목적 ‘vector embedding’은 NLP와 computer vision에서 그 효과를 입증했습니다. 여기서는 이 ‘vector embedding’을 비교(check similarity)하여 metric으로 만드는 3가지 방법을 알아봅니다. Euclidean distance ‘Euclidean distance’는 두개의 vector사이의 거...
Google의 V8엔진을 통해, javascript는 새로운 기회를 얻었습니다. 다른 script언어들과 다르게, javascript코드를 compile하여 machine code로 cache함으로써 성능을 극한으로 끌어 올렸습니다. 문득, V8이 생성하는 ‘Machine code’라는게 궁금해졌습니다. 그래서 직접 Machine code를 확인하고자...
Overview Engineer라면 한번쯤 ‘개인 Blog를 운영해야하나?’라는 생각이 들때가 있습니다. 이때, 쉽게 blog를 호스팅(hosting)하는 방법중 하나인 Github Pages를 사용하게 되는데, Jekyll를 통해 그 내용을 구성하게 됩니다. 여기선, ‘Jekyll’의 개념과 이를 이용해서 Blog를 만드는 방법을 다룹니다. ...