728x90

전체 글 715

정수론_NumberThoery

정수론_NumberTheory 정수의 성질을 다루는 수학의 한 분야이다. 우리가 왜 why? 공부해야 하는가 현대 암호학은 주로 정수론에서 다루어지는 수학적인 성질을 바탕으로 하기에, 암호화 알고리즘을 이해하고 구현하기 위해서는 정수론에 대한 공부가 필요하다. 컴퓨터에서 정수는 정확한 값을 가질 수 있다. 실수형 타입의 경우 반올림 오차(round off error)가 발생하기 때문에 이로 인한 문제가 발생할 수 있다. 정수와 자연수 소수를 중심적으로 다룬다. 소수_PrimeNumber 정수론에서 가장 중심적으로 연구하는 것 1과 자기 자신만을 약수로 가지는 수 에라토스테네스의 체 소수를 찾는 방법 √n 까지의 배수를 지운다 노가다 방식이라 상당히 무식한 방식이지만 특정 범위가 주어지고 그 범위 내 모든..

연결리스트_LinkedList

연결리스트(Linked_List) 동적으로 크기가 변할 수 있고, 삭제/삽입 시 데이터를 이동할 필요가 없는 연결된 표현(linked representation) 데이터를 한 군데 모아두지 않고, 물리적으로 흩어져 있는 자료들을 서로 연결하여 하나로 묶는 방법 포인터(pointer)를 통해 데이터를 연결 연결리스트에서 각각의 원소(element)를 노드(node)라고 한다. 노드는 데이터와 뒤쪽 노드를 가리키는(참조하는) 포인터(pointer)를 가지고 있다. 맨 앞 노드를 head node 맨 뒤를 tail node 라고 한다. 또 각 노드에서 바로 앞쪽 노드를 predecessor node 바로 뒤쪽 노드를 successor node 라 한다. 자신과 같은 형의 인스턴스를 참조하는 필드가 있는 구조를..

리스트_List

리스트(List) 리스트(list) 혹은 선형 리스트(linear list)란, 순서를 가진 항목들의 모임을 뜻한다. 리스트란 자료를 나열하여 저장하는 ‘목록’ 형태 리스트의 항목들이 순서/위치 를 가진다 스택, 큐 자료구조도 리스트의 일종이다. 순서 개념이 없는 집합(set)과 차이가 있다. 배열(Array) 또는 연결리스트(Linked_list)를 통해 구현 가능하다. 배열(array) - 타입이 같은 데이터를 하나로, 연속적인 메모리 공간, 인덱스(index) 번호를 사용해 쉽게 접근가능 같은 형태의 변수 여러 개 만들 때 사용 반복 코드 등에서 효율적이다. 구조체(struct) - 타입이 다른 데이터를 하나로

큐_Queue

큐(Queue) 큐(Queue)는 데이터를 임시저장 하는 자료구조이다. 선입선출(FIFO:First In First Out)방식이다. 가장 먼저 들어온 데이터가 가장 먼저 나간다. 큐에 데이터를 추가하는 작업을 인큐(enqueue)라고 하고 ,꺼내는 작업을 디큐(dequeue)라고 한다. 데이터를 넣는 쪽을 리어(rear) 꺼내는 쪽을 프런트(front)라고 한다. 가득 찬 큐에 요소를 추가하려고 할 때 overflow 가 발생하며, 빈 큐에서 요소를 제거하려고 할 때 underflow가 발생한다. enqueue 및 dequeue 작업이 있는 경우 어느 시점에서 큐가 비어있어도 자료를 삽입하지 못하는 경우가 발생한다. 함수 enque() - 데이터 넣기 deque() - 데이터 꺼내기 peek() - 데..

스택_Stack

스택(Stack) 스택(stack)은 데이터를 임시 저장할 때 쓰는 자료구조이다. 후입선출(LIFO:Last In First Out) 방식이다. 가장 최근에 들어온 데이터가 가장 먼저 나간다. 스택에 데이터를 넣는 작업을 Push라고 하고 반대로 데이터를 꺼내는 작업을 Pop이라고 한다. 스택배열(stk) - list형 배열 스택크기(capacity) - 스택의 최대 크기를 나타내는 int형 정수 스택포인터(ptr) - 스택에 쌓여있는 데이터의 개수를 나타내는 정수 값 스택의 구조&사용 스택은 자료의 출력 순서가 입력 순서의 역순으로 이루어질 때 요긴하게 사용하는 자료구조이다. 문서 편집기에서 undo(되돌리기) 같은 경우 이 스택 자료구조를 사용한다. 시스템 스택 함수호출 시스템 스택(system st..

24.01.14 백준, 재귀 알고리즘

python 구현 부분이 내가 너무 부족하다는 것을 알아버렸다. 매 문제를 풀 때마다 기본적인 함수를 검색하고, 찾아볼 수 없기 때문에 solved.ac 기초적인 문제로 함수에 익숙해 지도록 했다. Python Ascii ord(문자) - 아스키 코드를 반환 chr(숫자) - 숫자에 맞는 아스키 코드 반환 for문 역순 for(큰 수, 작은 수,-1) 백준 2420 파이썬 절대값 함수 abs() 2475 파이썬 제곱 x ** 2 2738 2중 for문을 이용해서 문제를 해결했다. 3003 띄어쓰기로 구분된 여러개의 숫자 5579 list.remove() 함수를 이용해서 풀었다. 10872 재귀함수 factorial def factorial(num): if num 0 , n! = nxn-1! 자신과 똑같은..

24.01.13 CSAPP 1.7- 1.끝 Python

24.01.13 CSAPP 1.7 - 1끝 운영체제는 하드웨어를 관리한다. 운영체제는 하드웨어와 소프트웨어 사이 소프트웨어 계층. 응용프로그램이 하드웨어를 제어하려면 언제나 운영체제를 통해서 해야 한다. 운영체제의 2가지 목적 제멋대로 동작하는 응용 프로그램들이 하드웨어를 잘못 사용하는 것을 막기 위해서 응용프로그램들이 단순하고 균일한 매커니즘을 사용하여 복잡하고 매우 다른 저수준 하드웨어 장치를 조작할 수 있게 이러한 두 가지 목적을 추상화를 통해 달성한다. 추상화에 대해서 여러가지 글들을 봤는데, 그것들이 가져야 할 핵심적인 특징을 가지는 모델을 만드는 것, 어떤 복잡한 것들을 단순화 시켜 표현한 것. 이런 설명들이 많았다. 프로세스 프로그램이 최신 시스템에서 실행될 때 운영체제는 시스템에서 이 한 ..

24.01.12 CSAPP, Python, Algorithm

24.01.12 정보는 비트와 컨텍스트로 이루어진다. 모든 시스템 내부의 정보 - 디스크 파일, 메모리상의 프로그램, 데이터, 네트워크를 통해 전송되는 데이터- 는 비트들로 표시된다. 서로 다른 객체들을 구분하는 방법은 이를 바라보는 컨텍스트에 의해서다. 다른 컨텍스트에서는 동일한 일련의 바이트가 정수, 부동소수, 문자열 또는 기계어 명령을 의미할 수 있다. 프로그램은 다른 프로그램에 의해 다른 형태로 번역된다. GCC 컴파일러 드라이버는 소스파일을 읽어서 실행파일로 번역한다. 번역은 4개의 단계를 거쳐서 실행된다. 이 네 단계를 실행하는 프로그램들(전처리기, 컴파일러 ,어셈블러, 링커)을 합쳐서 컴파일 시스템이라고 한다. 전처리 단계 : 전처리기(cpp)는 본래의 C프로그램을 #문자로 시작하는 디렉티브..

크래프톤 정글 - 천천히 나를 돌아보는 시간

크래프톤 정글의 특별한 과제가 나왔다. 에세이 제출 주제는 찬찬히 나를 돌아보는 시간이다. 사실 이런 주제로 글을 쓰거나 생각하는 것을 좋아하는 나이기에 왜인지 기분이 좋았다. 그럼 레츠꼬우 지나온 과거에 대한 성찰 지금까지 참 편하게 살았다. 나 자신 몰입한적이 없다 할 수는 없고, 노력한 적이 없다고 할 수는 없지만 딱.. 그 정도? 누군가 나는 다시 그 일을 그렇게 하라고 해도 하기 힘들어! 라고 말한다면 나는 10번도 더 하겠는데? 라고 할 정도로 흘러가듯이 살아왔다. 후회 한다는 그런 내용은 아니고, 그런 성장과정 그런 과거가 지금의 나 자신, 성격을 만들었다고 생각한다. 물흐르듯이 조금 더 자유로운. 바로 위에 후회 한다는 그런 내용이 아니라고 했지만 사실 가끔씩 후회하긴 한다. 조금 더 뭔가..

잡담 2024.01.12

크래프톤 정글 - 0Week 24.01.08 - 24.01.11

24.01.08 - 24.01.11 (3박4일) 말도 많고, 탈도 많았던 크래프톤 정글 0주차 미니 프로젝트가 끝났다. 거창하게도 아니고 소소하게 기획하고 출발했던 미니 프로젝트지만 여러가지 요소, 암초에 부딪쳐서 완성조차 하지 못했다. 완성을 하고 남는 시간에 컨텐츠를 좀 더 추가하고 싶었던 나의 계획은 물거품 마냥 꼬르르륵.. 사실 코드적인 그런 부분에서 문제가 많이 생긴게 아니라, 코드 외적인 부분에서 문제가 많이 발생했기 때문에 조금 더 아쉬웠다. 사실 아쉽다고는 말하지만 결과에 대한 부분이 아쉬웠지 나.. 정말 많이 정말 많이했다. 한계에 몰아붙인다고 표현할까? 몰입이라고 표현해야할까? 실시간으로 정말 생각한 코드들을 짜고, 점점 속도가 붙어가는 나의 모습에 기분이 좋았다. 내가 또 와도 이것보..

728x90