본문 바로가기

728x90
반응형
SMALL

전체 글

(195)
트리 벌써 마지막 장에 와버렸습니다. 마지막은 트리에 대해서 공부합니다. 우선 트리는 루트, 리프, 비단말 노드, 자식, 부모, 형제, 조상, 자손, 레벨, 차수, 서브트리, 빈 트리 등의 용어를 사용합니다. 트리 구조는 다단계랑 비슷합니다. 루트: 다단계 맨 윗 사람 리프: 가장 마지막에 있는 사람 비단말 노드: 리프를 제외한 노드 자식: 아래쪽 노드 부모: 윗쪽 노드 형제: 부모가 같은 노드 조상: 윗쪽으로 가며 만나는 모든 노드 자손: 아래쪽으로 가며 만나는 모든 노드 레벨: 루트 레벨 0 -> 에서 아래쪽으로 가며 1씩 증가함 차수: 노드가 갖는 자식의 수 높이: 루트 -> 리프의 거리 서브트리: 한 노드를 루트로 한 새로운 트리 빈 트리: 노드, 가지가 없는 트리 순서트리: 형제 간 순서 관계가 있음..
리스트 오늘은 선형리스트와, 연결리스트에 대해 알아보겠습니다. 선형리스트 선형리스트는와 연결리스트는 리스트 중 가장 단순한 연결 구조로 되어있습니다. 선형 리스트 동일한 자료형들이 순서를 갖습니다. 인덱스로 접근할 수 있기 때문에 접근이 빠르고 관리하기 편하다는 장점이 있는 반면, 자료 삽입, 삭제시 자료의 인덱스가 변해 최대 O(n)의 시간 복잡도를 가지기에 느리다는 단점과 배열으로 구현하기 때문에 갖는 메모리 비효율성이 있습니다. 연결리스트 연결리스트에선 원소를 노드라 합니다. 그리고 노드는 데이터와 뒤쪽 노드를 가리키는 포인터를 갖습니다. 그럼 포인터로 이용한 연결 리스트, 커서로 이용한 연결 리스트, 원형 이중 연결 리스트를 구현한 예시를 보여드리겠습니다. 1.포인터를 이용한 연결 리스트 이 것은 lee..
주식 기록일지 - 5 아아...이지트로닉스 13000원 돌파. 에프앤리퍼블릭 2400원 돌파해버렸다. 12000 -> 13000, 1600 -> 2400 후회만 남는 일주일이었다. 너무 빨리 팔아버렸... 애도. 묵념. -20% 메디콕스 -15%텔레필드, -14% 키네마스터
문자열 오늘은 부분 문자열 검색의 부르트포스법, KMP법, 보이어∙무어법에 대해서 공부하려 합니다. :) 부르트포스법은 단순 선형 검색을 확장한 알고리즘으로 단순법이라고 합니다. 이를 응용한 예제 문제를 풀어보겠습니다. https://www.acmicpc.net/problem/1120 1120번: 문자열 길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이때, A의 www.acmicpc.net import sys import heapq A, B = sys.stdin.readline().strip().split() def checkGapCo..
정렬 알고리즘 - 2 오늘은 남은 셸 정렬, 퀵 정렬, 병합 정렬, 힙 정렬, 도수 정렬을 정리합니다. :) 1. 셸 정렬 단순 삽입 정렬의 업그레이드 판입니다. (아쉽게도 백준에서 쉬운 예제를 찾지 못했습니다. 😩) 아주 쉬운 예를 들면, 단순 삽입 정렬의 겨우, [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] 배열을 정렬할 때, 바로 옆의 값을 확인하고 교환하다보니 54번의 저장이 이루어집니다. #예시 코드 및 결과 import sys n, k = 10, 54 a = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] n = len(a) count = 0 flag1 = False for i in range(1, n): if k == 0: break j = i tmp = a[i] flag2 = False #대..
주식 기록일지 - 4 전부 캡쳐 하기 너무 빡세서 수익만 올리려한다. 우선 결론은 이번주는 담배값 정도.... 용돈 -> 밥값 -> 담배값 이 되버렸다. 가슴이 너무 아프다. 심각하게 소름돋는 건 처음 포스팅에 썼던 뉴지랩파마... 부도로 거래 정지 되었다. 물론 정리하고 나왔다.. 다행... 맘마미아... 이거 뭔가 아주 심각하게 잘못된 것 같다. 안돼... 역시 뇌빼고 주식하면 안되는 걸 배웠다.
Html to AttributedString https://sweetdev.tistory.com/715 [SwiftUI] UITextView로 HTML rendering 하기 API에서 contents에서 아예 HTML이 온다면 어떻게 해야 깔끔하게 뷰로 보여줄 수 있을까? Webview로 보여주면 간단하겠지만... 그건 원하지 않았다. 그 밑에 들어올 뷰들이 있고, 내가 하고싶은거는 HTML sweetdev.tistory.com font 스크립트를 html로 받아와서 이를 변환해서 뷰를 쏴줄 방법을 고민했는데, sweetdev님께서 redering 하는 방법을 잘 정리해주셔서 해결함. scroll 이 필요한 경우와 아닌 경우 잘 구분해서 사용해야할 듯. :)
정렬 알고리즘 - 1 정렬이란 데이터의 집합을 어떠한 기준의 대소관계를 따져 일정한 순서로 줄지어 세우는 것이며 정렬의 목적은 대게 탐색을 위해 또 이진 탐색이 가능한 데이터를 만들기 위해서 입니다. :) 사실 Timsort 알고리즘 (삽입정렬 + 병합정렬)이 Python, Java, Android, Google chrome, swift 등에서 표준 정렬 알고리즘으로 채택된 정렬 방법이지만 정렬 방법의 기초를 다지기 위해서 쓰는 글이니만큼 이번엔 8가지 기본정렬 방법, 그리고 그중 버블정렬, 단순 선택 정렬, 단순 삽입 정렬에 대해 먼저 공부하려 합니다. 1. 버블 정렬 이웃한 두 원소의 대소 관계를 비교해 필요에 따라 교환하는 방법으로 단순 교환 정렬이라고도 합니다. https://www.acmicpc.net/problem..

728x90
반응형
LIST