본문 바로가기

분류 전체보기

(106)
[CSS] 글꼴 글꼴 abc 글꼴은 font-family를 사용해서 입력할 수 있다. 입력방식은 font - family: 폰트1, 폰트2 ,..... 형식이고 적용 방식은 폰트 1 적용-> 영문만 지원되는 폰트 등의 이유로 문자를 지원하지 않는 폰트의 경우 폰트 2를 적용 - > 이하 반복한다. 아래는 위 코드가 적용된 것으로 abc는 Arial이 적용되고 "글꼴"은 Arial이 한글을 지원하지 않아 돋움으로 적용된 것을 확인 할 수 있다. HTML 삽입 미리보기할 수 없는 소스 만약, 내가 보여주고 싶은 글꼴이 있는 데 그 글꼴이 보는 사람의 컴퓨터에는 없는 경우가 있을 수 있다. 이럴 때는 웹폰트를 사용하는 데, 프로그램을 실행 시 웹에서 폰트를 불러와서 적용시키는 역할을 한다. 우선 구글폰트(Google Font..
[자료구조] 빅오 표기법 빅오 표기법은 알고리즘에 필요한 단계 수를 나타내는 표기법이다. O(N)(빅 오 N으로 읽는다.) 알고리즘에 N단계가 필요하다는 뜻이다. O(1)(빅 오 1으로 읽는다.) 알고리즘에 1단계가 필요하다는 뜻이다. 배열 개수와 상관없이 한 단계만 필요하다. 연산에서의 읽기가 그렇다. 사이즈가 10이든 20이든 단계가 3인 알고리즘이 있다고 할 때 빅오 표기법을 어떻게 써야 할까? 위에서 적힌 대로라면 O(3)이 답인 것 같다. 하지만 실제로는 O(1)이다. 사이즈가 n일 때 단계가 2n인 알고리즘이 있다고 할 때 빅오 표기법을 어떻게 써야 할까? 위에서 적힌 대로라면 O(2N)이 답인 것 같다. 하지만 실제로는 O(N)이다. 빅오 표기법은 데이터가 늘어날 때 알고리즘 성능이 어떻게 바뀌는지를 뜻한다. 즉, ..
[자료구조] 선형 검색과 이진 검색 선형 검색 인덱스를 하나씩 증가시켜 확인하는 방법. 배열의 사이즈가 n이면 찾는 값이 제일 첫 번째 값이면 1단계만에 끝낼 수 있지만 마지막에 존재하면 n단계나 필요함. 정렬이 안 되도 사용가능 이진 검색 배열의 중간값의 인덱스의 값보다 큰 지 작은 지 확인. 크면 작은 값을, 작으면 큰 값을 전부 배제해 나아가며 진행. 예시) [1, 2, 3, 4, 5, 6, 7, 8] 에서 1를 원한다고 가정. 1. 중간 인덱스 4보다 1이 작기 때문에 [1,2,3]에 존재함을 판단. 2. 중간 인덱스 2보다 1이 작기 때문에 [1]에 존재함을 판단. 3. 중간 인덱스 1이 1과 같기 때문에 인덱스를 반환. 배열의 사이즈가 n일 때 2^k보다 작거나 같으면 최대 k단계만에 판별이 가능하다. 예시) 위 예시의 배열 사..
[자료구조] 정렬된 배열 정렬된 배열은 값이 항상 순서대로 있어야 하는 배열이다. [1,2,4,5]라는 배열이 있다고 가정하자. 3을 삽입한다고 예시를 들면 일반 배열과 정렬된 배열은 다음과 같다. 일반 배열 1. 5를 인덱스 4로 옮긴다. 2. 4를 인덱스 3으로 옮긴다. 3. 3을 인덱스 2에 넣는다. 정렬된 배열 1. 0번 인덱스를 확인한다. 1은 3보다 작다. 다음 인덱스로 넘어간다. 2. 1번 인덱스를 확인한다. 2는 3보다 작다. 다음 인덱스로 넘어간다. 3. 2번 인덱스를 확인한다. 4는 3보다 크다. 넣을 인덱스를 정한다. 4. 5를 인덱스 4로 옮긴다. 5. 4를 인덱스 3으로 옮긴다. 6. 3을 인덱스 2에 넣는다. 정렬된 배열이 일반 배열보다 삽입하는 데 걸리는 단계가 더 많음을 알 수 있다. 하지만 정렬된 ..
[자료구조] 집합 중복 값을 허용하지 않는 자료구조. 집합의 연산 효율성은 읽기, 검색, 삭제는 배열과 같으나 삽입의 경우 크게 달라진다. n사이즈의 집합에 새로운 값을 맨 앞에 넣으려고 하면 효율성이 어떻게 될까? 일단 집합은 중복값을 허용하지 않으므로 검색을 실행한다. 중복값이 없다면 n단계가 실행된다. 그 후, 맨 앞에 넣기 위해서는 n+1단계가 필요하다. 따라서 집합의 삽입의 최악의 경우는 2n+1단계가 필요하다. 배열의 입력이 최악 n+1단계 필요하다 했으므로 집합이 2배 가까이 느림을 알 수 있다. 그러나 느리다고 사용하지 않는 게 아닌 중복 데이터가 없을 때는 사용해야 한다.
[자료구조] 연산 대부분의 자료구조의 연산에는 네 가지 기본 방법을 사용하며 읽기, 검색, 삽입, 삭제가 있다. 위 배열을 사용해서 설명해 보자. 읽기 "어떤 배열의 인덱스 2의 값을 찾아주세요."라는 질문에 train을 반환하는 연산이다. 별다른 과정이 없이 한 단계만에 인덱스 값(2)을 주면 값(train)을 반환한다. 가장 빠른 연산 유형이다. 검색 "train"의 인덱스를 찾아주세요." 라는 질문에 2를 반환하는 연산이다. 가장 기본적인 방식의 검색(선형검색)을 하면 1. 0번 인덱스를 확인하고 train인지 확인한다. 아니므로 1번 인덱스로 이동 2. 1번 인덱스를 확인하고 train인지 확인한다. 아니므로 2번 인덱스로 이동 3. 2번 인덱스를 확인하고 train인지 확인한다. 맞으므로 2를 반환한다. 이처럼 ..
[자료구조] 배열 기초적인 자료구조 중 하나. 배열은 사이즈와 인덱스를 가진다. 위 그림에서 배열 array의 사이즈는 4이고 array의 인덱스 2번 값은 "train"이다.
ASCII Table(아스키 코드표) 숫자 0 : 48 영어 A : 65 영어 a : 97 엑셀을 통해 제작되었습니다.