1. 데이터 베이스 목록 출력 SHOW DATABASES; 이미 만들어진 데이터 베이스들을 볼 수 있다. 2. 새로운 데이터베이스 생성 CREATE DATABASE [DB_NAME]; 'test_db'라는 이름의 새로운 데이터 베이스가 만들어진 것을 확인할 수 있다. 3. 현재 사용하는 데이터베이스 확인 SELECT DATABASE(); 현재 사용하고 있는 데이터 베이스가 없으므로 NULL 4. 데이터 베이스 사용 USE [DB_NAME]; 사용하는 데이터 베이스가 'test_db'로 설정 됨 5. 만들어진 테이블 확인 SHOW TABLES(); test_db 안에 만든 테이블이 없음 6. 테이블 생성 CREATE TABLE [NAME] ([COLUMN_NAME] [DATA_TYPE]); 컬럼이 두개인 ..
✅ 자료구조 : 데이터를 저장하는 방식 ✅ 선형 자료구조 : 한 종류의 데이터가 선처럼 길게 나열된 자료구조 랜덤 접근 불가능? 모든 자료에 O(1)으로 접근이 보장되지 않는 자료구조들 덱(Deque) 덱은 큐의 양쪽 끝에서 데이터의 삽입과 삭제가 모두 가능하게 만든 큐이다. 간단하게 말해서 스택과 큐의 성질을 모두 가지는 자료구조이다. double-ended queue의 줄임말이다. 덱의 연산 양쪽 끝에서 데이터의 삽입과 삭제를 모두 할 수 있기 때문에 스택과 큐의 연산 모두 구현 가능 데이터 삽입 addFirst() : 덱의 앞쪽에 데이터 추가. 용량 제한이 있는 덱의 경우 용량을 초과하면 예외가 발생한다. addLast() : 덱의 마지막에 데이터 추가. 용량 제한이 있는 덱의 경우 용량 초과 시 ..
✅ 자료구조 : 데이터를 저장하는 방식 ✅ 선형 자료구조 : 한 종류의 데이터가 선처럼 길게 나열된 자료구조 랜덤 접근 불가능? 모든 자료에 O(1)으로 접근이 보장되지 않는 자료구조들 큐 (Queue) 먼저 들어간 자료가 먼저 나오는 FIFO(First In First Out) 자료구조. 즉, 스택과 반대이다. 큐의 추상화 연산 enqueue(item) : item을 큐의 맨 뒤쪽에 추가 dequeue() : 큐의 맨 앞쪽의 데이터 삭제 peek() : 큐의 맨 앞 데이터를 반환 isfull() : 큐가 가득 찼는지 확인 isempty() : 큐가 비어 있는지 확인 큐의 구현 1. 배열을 이용한 구현 public class ArrayQueue { int MAX = 1000; int front; //머리..
✅ 자료구조 : 데이터를 저장하는 방식 ✅ 선형 자료구조 : 한 종류의 데이터가 선처럼 길게 나열된 자료구조 랜덤 접근 불가능? 모든 자료에 O(1)으로 접근이 보장되지 않는 자료구조들 스택 (Stack) 먼저 들어간 자료가 나중에 나오는 LIFO(Last In First Out) 자료구조. 즉, 한 쪽 끝에서만 자료를 넣고 뺄 수 있음 스택의 추상화 연산 push(item) : item 하나를 스택의 가장 윗부분에 추가 pop() : 스택에서 가장 위에 있는 항목 제거 peek() | top(): 스택의 가장 위에 있는 항목을 반환 isEmpty() : 스택이 비어 있을 때 true 반환 isFull() : 스택이 가득 차 있을 때 true 반환 getSize() : 스택에 있는 요소 수 반환 스택의 ..
✅ 자료구조 : 데이터를 저장하는 방식 ✅ 선형 자료구조 : 한 종류의 데이터가 선처럼 길게 나열된 자료구조 랜덤 접근 가능? 모든 자료에 O(1)의 시작복잡도로 접근이 보장되는 자료구조들 1. 배열 배열(array) : 같은 타입의 변수들로 이루어진 유한 집합 배열 요소(element) : 배열을 구성하는 각각의 값 인덱스(index) : 배열의 위치를 가리키는 숫자. 0에서 시작 1차원 배열, 2차원 배열 등이 있음 배열이 차지하는 메모리의 크기 = 배열의 길이 X sizeof(타입); int[] array1; //배열 선언 int[] array2 = new int[10]; //heap 메모리에 할당 int[] array3 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; //선언과 동시에..
시간복잡도 개념 프로그램을 작성할 때 입력의 크기에 따라 프로그램의 계산 횟수가 크게 달라진다. 입력된 자료의 양과 알고리즘 실행에 걸리는 시간 사이에는 어느 정도의 관계가 있는데, 이것을 알고리즘의 시간 복잡도라고 한다. 예제 자연수 N이 주어졌을 때 1부터 N까지의 합을 구하는 프로그램 만들기 [소스 1] import java.util.Scanner; public class example{ public static void main(String[] args){ int res = 0; Scanner sc = new Scanner(System.in); int N = sc.nextInt(); for(int i=1; i
🐾backend 카테고리는 백엔드 로드맵을 따라 공부한 내용을 다룹니다. 백엔드 로드맵에 의하면 '인터넷 - How Does the Internet Work?'로 시작해야 되지만, 시작부터 이해가 안 가서 당황했다. 인터넷이란? 인터넷은 한마디로 컴퓨터 네트워크이다. 현재 인터넷은 전 세계 컴퓨터들을 하나로 연결하는 거대한 컴퓨터 네트워크를 의미한다. 여기서 '컴퓨터 네트워크가 뭔데..?' 싶은 거다. 인터넷이랑 컴퓨터 네트워크랑 같은 거라는 건가? 싶어서 조금 더 찾아본 결과, 일단 인터넷보다 네트워크가 더 큰 범위인 것으로 파악되어 컴퓨터 네트워크를 먼저 공부해보려고 한다. 네트워크란? Network. 그물을 뜻하는 net과 work의 합성어이다. 그물을 짜는 행위를 뜻하는 명사에서 '연결망'을 지칭..
2023년 2월 첫 번째 회고 📆2023.02.12-18 사실 회고록이라고 거창하게 제목을 지었지만, 가볍게 한 주 또는 한 달을 되돌아보고자 글을 쓰려고 한다. 역시 이번 주는 시작이라 그런지 그럴듯한 내용은 없다. 하지만 "시작이 반"이라는 말처럼 계획과 시작이 많다. 1. 모닝 모각코 스터디 시작 계획과 동시에 이뤄버렸다. 시작은 역시나 내 어마무시한 아침잠 때문이었다. 나름 취업 후 습관과 혹시 알바를 할 때는 고려하여 7시를 기상 시간으로 정했다. 하지만 계획한 첫날부터 실패하였고, 그다음 날도 역시나 실패.. 그래서 내 장점이자 약점인 책임감을 적용하기로 했다. 바로 다른 사람들과 약속을 잡는 것! 카카오톡 오픈채팅은 너무 가벼워 보였고 할 일이 딱 정해져 있거나, 회비가 있는 모임은 너무 부..
😊이 글은 프로그래머스 - 자바 중 강의를 듣고 작성하였습니다. Object와 오버라이딩 object class : 모든 클래스의 최상위 클래스 아무것도 상속받지 않은 클래스는 object클래스를 상속받는 것을 의미 기본 메소드 : 오버라이딩 해야 사용 가능 equals(Object obj) : 객체가 가진 값을 비교 이클립스 source -> generate -> hashCode() and equals() 에서 어떤 속성을 비교할지 선택하여 자동으로 오버라이딩 가능 return boolean; toString : 객체가 가진 값을 문자열로 반환 이클립스 source -> generate -> toString() 에서 자동으로 오버라이딩 가능 객체만 호출해도 객체가 가진 값 반환 가능 return Str..