본문 바로가기

CS45

Linked List와 STL List 해당 게시글은 '바킹독의 실전 알고리즘 강의'를 학습한 후 개인적으로 정리한 내용임을 밝힙니다.[출처] https://blog.encrypted.gg BaaaaaaaarkingDog blog.encrypted.gg 1. Linked List정의노드들이 포인터로 연결된 구조각 노드는 데이터와 다음 노드를 가리키는 포인터를 포함 유형① 단일 연결 리스트 (Singly Linked List) ② 이중 연결 리스트 (Doubly Linked List) ③ 원형 연결 리스트 (Circular Linked List) 시간 복잡도임의의 위치에 접근/변경 : O(n)임의의 위치에 삽입/삭제 : O(1) (추가하고 싶은 위치의 주소를 알고 있는 경우) 장점동적으로 크기 조절 가능 → 메모리 낭비 적음 (필요 시 할당.. 2025. 6. 17.
Array와 STL Vector 해당 게시글은 '바킹독의 실전 알고리즘 강의'를 학습한 후 개인적으로 정리한 내용임을 밝힙니다.[출처] https://blog.encrypted.gg BaaaaaaaarkingDog blog.encrypted.gg 1. Array정의연속된 메모리 공간에 동일한 타입의 데이터를 저장하는 자료구조 시간 복잡도임의의 위치에 접근/변경 : O(1)맨 끝에 원소를 추가 : O(1)맨 마지막 원소를 제거 : O(1)임의의 위치에 삽입/삭제 : O(n) 특징고정 크기논리적 저장 순서 = 물리적 저장 순서 장점빠른 인덱스 접근 (Random Access)메모리 접근이 효율적추가적으로 소모되는 메모리의 양 (=overhead)가 거의 없음Cache hit rate가 높음 단점크기 변경 불가임의의 위치에 삽입/삭제 시 .. 2025. 6. 17.
[Network] 네트워크 계층 해당 게시글은 '면접을 위한 CS 전공지식 노트' 도서를 학습한 후 개인적으로 정리한 내용으로 구성함을 밝힙니다. 1. 계층 구조 OSI 7계층 vs. TCP/IP 계층 2. TCP/IP 4계층2.1. 응용 계층 (Application Layer)응용 프로그램이 사용되는 프로토콜 계층웹 서비스, 이메일 등의 서비스를 사용자에게 제공 FTP 장치와 장치 간의 파일 전송 프로토콜 SSH 보안이 없는 네트워크에서 네트워크 서비스를 안전하게 운영하기 위한 암호화 네트워크 프로토콜HTTP World Wide Web을 위한 데이터 통신 기초SMTP 전자 메일 전송을 위한 인터넷 표준 통신 프로토콜DNS 도메인 이름과 IP 주소를 매핑해주는 서버 2.2. 전송 계층 (Transport Layer.. 2025. 4. 16.
[Network] 네트워크 기초 해당 게시글은 '면접을 위한 CS 전공지식 노트' 도서를 학습한 후 개인적으로 정리한 내용으로 구성함을 밝힙니다. 네트워크컴퓨터 등의 장치들이 통신 기술을 이용하여 구축하는 연결망노드(node)와 링크(link)가 서로 연결되어 있으며, 리소스를 공유하는 집합노드 : 서버, 라우터, 스위치 등의 네트워크 장치링크 : 유선 또는 무선 1. Throughput과 Latency좋은 네트워크의 조건많은 처리량을 처리 가능지연 시간이 짧음장애 빈도가 적음보안성이 좋음 처리량 (Throughput)정의링크 내에서 성공적으로 전달된 데이터의 양처리량 vs. 트래픽트래픽 : 특정 시점에 링크 내에 흐르는 데이터의 양트래픽이 많아졌다 = 흐르는 데이터가 많아졌다처리량이 많아졌다 = 처리되는 트래픽이 많아졌다단위bps (.. 2025. 4. 16.
[Ruby] Ruby 20분 가이드 * 해당 게시글은 Ruby 공식 문서를 바탕으로 학습한 후 개인적으로 정리한 내용을 담고 있습니다.https://www.ruby-lang.org/ko/documentation/quickstart/ Ruby 20분 가이드소개 이 문서는 20분 정도면 따라 해볼 수 있는 간단한 Ruby 튜토리얼입니다. 이 튜토리얼을 따라 하기 위해서는 컴퓨터에 Ruby가 설치되어 있어야 합니다. (아직 Ruby가 설치되어 있지 않다면, 시작www.ruby-lang.org 1. 출력Ruby는 데이터를 화면에 출력할 때 puts라는 메서드를 이용한다. irb(main):002:0> puts "Hello World"Hello World=> nil  2. 계산간단한 Ruby의 수 계산 연산자는 아래와 같다.특히 제곱근을 구할 때 .. 2025. 2. 1.
[Ruby] Ruby에 대해서 * 해당 게시글은 Ruby 공식 문서를 바탕으로 학습한 후 개인적으로 정리한 내용을 담고 있습니다.https://www.ruby-lang.org/ko/about/#fn2 Ruby에 대해서Ruby가 왜 인기 있을까요? Ruby의 팬들은 아름답고 기교가 뛰어난 언어이기 때문이라고 말합니다. 하지만 이 말로는 부족하지요. 어떤 점이 Ruby를 이처럼 매력적인 언어로 만드는 것일까요? Ruby를www.ruby-lang.org  Ruby에 대해서공식 문서에 따르면 Ruby의 팬들은 아름답고 기교가 뛰어난 언어이기 때문에 Ruby가 인기있다고 말한다고 한다. 자고로 프로그래밍 언어의 공식 문서들은 매우 딱딱하고 노잼인 것이 국룰인데, 자칭 프로그래머의 단짝 친구 Ruby의 공식 문서는 아주 사심이 가득해보인다ㅋㅋ .. 2025. 2. 1.
[이취코] Chapter 04. 구현 * 해당 게시글은 [이것이 취업을 위한 코딩테스트다, 나동빈] 교재를 학습하고 정리한 글입니다. 1. 구현 유형 완전 탐색시뮬레이션 모든 경우의 수를 전부 다 계산하는 방식 문제에서 제시한 알고리즘을 한 단계씩 차례대로 수행하는 방식 2. 구현 시 고려해야 할 제약 사항2.1. 자료형의 범위정수형자료형 크기자료형 범위int4byte-2,147,483,648 ~ 2,147,483,647long long8byte-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 2.2. 채점 시스템대부분의 코딩 테스트 환경에서는 아래의 채점 시스템 환경이 주어진다.시간 제한 : 1초메모리 제한 : 128MB 3. 예제#include using namespace std;.. 2025. 1. 6.
[이취코] Chapter 03. 그리디 * 해당 게시글은 [이것이 취업을 위한 코딩테스트다, 나동빈] 교재를 학습하고 정리한 글입니다. 1. 그리디 알고리즘현재 상황에서 지금 가장 좋은 것을 골라나가는 방법현재의 선택이 나중에 미칠 영향은 고려하지 않음예) 다익스트라 알고리즘, 크루스칼 알고리즘 2. 언제 사용할까?문제를 보고 현재 상황에서 가장 좋아보이는 것을 선택할 때 문제가 풀릴 지를 파악할 수 있어야 함그리디로 판단할 때는 정당한지(= 다른 방법이 불가능한 지) 검토할 수 있어야 함 '가장 큰 순서대로', '가장 작은 순서대로' 와 같은 기준을 알게 모르게 제시해주는 편정렬 알고리즘과 함께 결함된 문제가 많음 3. 예제#include using namespace std;int coins[4] = {500, 100, 50, 10};int.. 2024. 10. 31.
[Connected Car & AWS] IOManager로 LED, 피에조 부저 조작 1. Vehicle.pyimport jsonfrom random import randintfrom datetime import datetimeclass Vehicle: def __init__(self): self.vin = "1HGBH41JXMN109186" self.date = datetime.now().strftime("%Y/%m/%d, %H:%M:%S") self.vehiclespeed = randint(0,160) self.fuelstatus = randint(0,100) . . . . self.airbags = {"driverairbag": "active", "pas.. 2024. 4. 20.