전체 글 46

[자료구조] 힙

1. 힙(Heap)의 정의힙은 완전 이진 트리(Complete Binary Tree) 형태를 가지는 자료구조로, 각 노드의 값이 일정한 조건을 만족하도록 구성.최대 힙(Max Heap): 부모 노드의 값이 자식 노드의 값보다 항상 크거나 같다.최소 힙(Min Heap): 부모 노드의 값이 자식 노드의 값보다 항상 작거나 같다.즉, 힙은 항상 루트 노드가 최댓값 또는 최솟값을 가지는 특수한 이진 트리2. 힙의 특징완전 이진 트리 구조마지막 레벨을 제외하고는 모든 레벨이 꽉 차 있으며, 마지막 레벨은 왼쪽부터 차례대로 채워짐부모-자식 관계 조건 유지최대 힙: 부모 ≥ 자식최소 힙: 부모 ≤ 자식효율적인 삽입과 삭제삽입: 새로운 원소를 가장 마지막 자리에 넣은 뒤 위로 올리며(Heapify Up) 조건을 맞춤..

자료구조 공부 2025.09.13

[MySQL] 기초 공부 4 : 데이터 변경을 위한 SQL 문법

Select 문은 데이터를 가져와서 보기만 한 문법이라면,이번에 학습할 Insert / Update / Delete 문은 데이터를 입력/수정/삭제즉, 데이터를 변경하는 기능을 하는 문법. 1. 데이터입력 : INSERT기본 문법INSERT INTO 테이블 [(열1, 열2, ...)] VALUES (값1, 값2, ...) - 다른 테이블의 데이터를 한번에 입력할 수 있는데 이전에 배웠던 Select문을 사용하면 된다ex) INSERT INTO 테이블_이름 (열_이름1, 열_이름2, ...) SELECT 문 ; 2. 데이터수정 : UPDATE기본문법UPDATE 테이블_이름 SET 열1=값1, 열2=값2, ... WHERE 조건 ;* WHERE 없이 사용할 경우 해당 열 전체 데이터 내용이 변할 수 있으므로 ..

mySQL 2025.09.04

[MySQL] 기초 공부 3 : SQL 기본 문법

기본적으로 SELECT 절의 형식은SELECTFROMWHEREGROUP BYHAVINGORDER BYLIMIT열이름테이블이름조건식열이름조건식열이름숫자로 진행된다.(왼쪽부터 오른쪽 순) # SELECTSQL 문에서 가장 많이 사용되는 문법으로, 데이터베이스에서 데이터를 구축한 후에 그 내용들을 활용.구축이 완료된 테이블에서 데이터를 추출하는 기능. -> 기존의 데이터 변경 X 가장 기본 형식은 [SELECT '열이름' FROM '테이블이름' WHERE '조건식'] 조건식을 다양하게 표현함으로써 데이터베이스에서 원하는 데이터를 뽑아낼 수 있음ex) WHERE member_name = '김철수' ; # Order By앞에서 찾아낸 데이터들을 특정 기준에 맞춰 정렬하고 싶을 때 사용- ASC : 오름차순. 기본..

mySQL 2025.08.31

[MySQL] 기초 공부 2 : 테이터베이스 개체 훑어보기

이후에 다시 자세히 다룰 내용이지만 미리 간단하게 둘러보는 정도로 강의가 진행. # 인덱스데이터를 조회할 때 테이블에 데이터가 적다면 결과가 금방 나오지만 데이터가 많아질수록 결과가 나오는 시간이 많이 소요됨. 인덱스는 이런 경우 결과가 나오는 시간을 대폭 줄여줌.없어도 실행이 되지 않는 것은 아니다! # 뷰= 가상의 테이블 / 윈도우즈의 바로가기 아이콘과 비슷한 개념일반 사용자는 테이블과 뷰를 구분할 수 없음보안을 위해 사용됨뷰의 실체는 'SELECT' 문 # 스토어드 프로시저MySQL에서 제공하는 프로그래밍 기능 >> 정확한 사용법은 아직 모르겠으나 일단 따라해보며 느낀 점은 메서드 같은 느낌인듯 함.

mySQL 2025.08.28

[MySQL] 기초 1 : 데이터베이스 알아보기

# 데이터베이스란? 데이터 베이스에는 일상 생활의 대부분의 정보가 저장되고 관리됨.데이터 베이스를 한마디로 정의하면 '데이터의 집합' 이라고 할 수 있음. # DBMS데이터 베이스를 관리하고 운영하는 소프트웨어를 'DBMS'라고 함(Database Management System)엑셀과 같은 프로그램은 데이터의 집합을 관리하고 운영한다는 차원에서는 DBMS로 볼 수 있지만, 대용량 데이터를 관리하거나 여러 사용자와 공유하는 개념과는 거리가 있어 DBMS라고 부르지 않음. 예시로 은행의 예금 계좌가 있음.여러명의 예금 계좌 정보를 모아 놓은 것이 데이터 베이스.예금 계좌 데이터베이스에는 여러명이 동시에 접근 가능.(예금 주인, 은행 직원, 인터넷 뱅킹, ATM 기기...) # SQL이란?DBMS에 데이터를..

mySQL 2025.08.26

[디자인패턴] 팩토리 메서드 패턴

1. 팩토리 메서드 패턴이란?객체 생성 로직을 별도의 메서드로 캡슐화하여, 코드에서 직접 'new' 키워드를 사용하는 대신 팩토리 메서드를 통해 객체를 생성하는 패턴.즉, 객체를 만드는 방식과 사용하는 방식을 분리해서, 새로운 타입이 추가되더라도 기존코드를 최소한만 수정할 수 있도록 돕는 패턴.=> 한마디로, "객체 생성 전용 공장을 따로 두는 것" 2. 특징(1) 객체 생성과 사용의 분리- 클라이언트 코드는 객체 생성 과정을 몰라도 됨(2) 확장성 증가- 새로운 클래스가 추가될 때, 기존 코드에 미치는 영향 최소화(3) 코드 가독성 향상- 'new'가 여기저거 흩어져 있지 않고, 생성은 전용 팩토리에서 담당 (4) 단점 - 클래스/팩토리가 늘어나 코드 구조가 복잡해 질 수 있음! 3. 구조 Produc..

[면접질문공부] 객체지향프로그래밍

* 그냥 단순히 혼자 공부중인 면접 질문 대비 답변입니다.* 보고 적는게 아닌 생각나는 대로 답변해서 기록하기 때문에 혹시 틀린 내용이 있다면 코멘트 부탁드립니다.*** 이 내용에 대한 답변도 준비하면 좋겠다라는 의견 적극 환영하고 사랑합니다 **** 1. 객체지향프로그래밍 이란?- 현실세계를 프로그래밍으로 옮겨와 현실세계의 사물들을 객체로 보고 객체로부터 필요한 특징과 기능을 프로그래밍하는 기법. 2. 객체지향프로그래밍의 장점- 유지보수와 확장에 용이하며 재사용성이 높고 협업과 테스트에 유리함 3. 객체지향프로그래밍의 4가지 핵심개념- 첫째, 데이터와 메서드를 하나의 객체로 묶고 외부에서는 내부 구현을 숨기는 캡슐화.- 둘째, 기존 클래스의 속성과 기능을 물려받아 사용하는 상속- 셋째, 같은 메서드라도..

기술면접 공부 2025.08.11

[알고리즘] 소수 판별 알고리즘

코딩테스트 공부를 하다 소수 관련 문제가 있어서 알아보던 중 자주 사용할 것 같아 기록. public bool IsPrime(int number) { if (number ▶핵심 로직(1) 예외 처리1 이하는 소수가 아님 = false2 와 3 은 소수 = true (2) 2 와 3 으로 나눠지면 소수가 아님( if (number % 2 == 0 || number % 3 == 0) return false;) (3) 6의 배수 간격 탐색i 를 5부터 시작해 6씩 증가시키며 i와 i + 2로 나누어 떨어지는지 검사=> 2, 3으로 나누어 떨어지지 않는 수는 6k + 1(= i + 2) , 6k - 1(= 6k + 5 => i) 형태일 가능성만 남기 때문 ▶+ 6k ± 1이란?모든 자연수는 ..

알고리즘 공부 2025.08.01

[CS] {네트워크} 네트워크 계층 (1)

1. LAN을 넘어 통신하기 이전까지의 네트워크에 대한 내용의 네트워크의 범위는 일반적으로 LAN 한정.=> LAN을 넘어 다른 네트워크와의 통신을 위한 네트워크 계층 => (1) IP 주소를 통한 송수신지 대상을 지정 => (2) 라우팅을 통한 다른 네트워크와 통신 1) 데이터 링크 계층의 한계(1) 물리 계층과 데이터 링크 계층만으로는 다른 네트워크까지의 도달 경로를 파악하기 어려움라우팅 - 패킷이 이동할 최적의 경로를 결정하는 것라우터 - 라우팅을 수행하는 대표적인 장비(2) MAC 주소만으로는 모든 네트워크에 속한 모든 호스트의 위치를 특정하기 어려움- MAC 주소와 IP 주소는 함께 사용되고, 기본적으로 IP주소를 우선 활용 IP주소MAC주소택배의 '수신지'역할택배의 '수신인'역할..

CS 공부 2025.07.22

[CS] {네트워크} 물리 계층 & 데이터링크 계층

1. 이더넷- 현대 LAN, 유선 LAN 환경에서 가장 대중적으로 사용되는 기술 1) 물리 계층 관련 이더넷 기술(통신 매체)- 국제 표준으로써의 이더넷- 이더넷은 IEEE 802.3이라는 이름으로 국제 표준이 됨- IEEE 802.3 == 이더넷 관련 다양한 표준의 모음 == 이더넷 관련 표준을 만드는 작업 그룹(전문가 단체)- 수많은 이더넷 표준에 따라 지원되는 네트워크 장비, 통신 매체의 종류, 전송 속도 등이 달라짐 >> 흔히 이더넷 표준에 따라 다음과 같이 표기(1) 전송 속도- 숫자만 표기되어 있으면 Mbps 속도- 숫자 뒤에 G가 붙는 경우 Gbps 속도 (2) 추가 특성- 통신 매체의 특성을 명시- 다양한 특성이 명시될 수 있음(전송 가능한 최대거리 / 물리 계층 인코딩 방식 / 레인(비트..

CS 공부 2025.05.15