전체 글 172

[자료구조] 5일차 스택으로 풀 수 있는 문제

올바른 괄호인지 판단하기 :짝이 맞는 지 확인하기 각 괄호를 하나씩 처리하기 괄호 문자열 특징 알아보기 특징 나중에 등장한 여는 괄호는 항상 먼저 등장한 여는 괄호보다 먼저 완성 닫히지 않은 괄호가 존재하면 올바르지 않음. 여는 괄호가 남김 없이 모두 완성되어야함. 올바른 괄호인지 판단하기 - 예시 괄호를 처음부터 하나씩 검토하기 여는 괄호라면 스택에 넣고, 닫는 괄호라면 스택에서 하나 제거 괄호 문자열을 처리한 결과에 따라 값 반환= (b) (a)가 아니거나, 스택이 비어있는 상태에서 닫는 괄호가 입력되었다면 올바른 괄호가 아님. = (a) 괄호 문자열을 모두 처리하고 나서 스택이 비어있다면 올바른 괄호 계산 순서 정하기 입력되는 닫는 괄호와 대응하는 여는 괄호를 찾기 스택에 저장하는 값을 ‘여는 괄호..

자료구조 2024.04.15

[자료구조] 5일차 스택, 큐의 개념, 의미

스택, 큐의 개념 대표적인 자료구조의 예시 선형구조 - 스택, 큐 : 자료가 순서를 가지고 연속되어 있음. 비선형 구조 - 트리, 그래프 : 선형 구조에 해당하지 않는 자료구조 스택 : 한쪽 끝에서만 자료를 넣고 뺄 수 있는 자료구조 스택이 지원하는 연산목록 -push : 자료 넣기 -pop : 자료 빼기 -top : 가장 위에 있는 자료 반환 -empty : 스택 비어있는지 확인 스택 과정 : 나중에 들어간 자료가 먼저 출력되서 후입선출 자료구조라고 함. 큐 : 입구와 출구가 각각 한 쪽 끝에 존재 큐가 지원하는 연산 목록 -push : 자료 넣기 -pop : 자료 빼기 -front : 가장 앞의 자료 반환 -back : 가장 뒤의 자료 반환 -empty : 큐가 비어있는지 반환 : 배열을 이용하여 구..

자료구조 2024.04.15

[자료구조] 자료구조란? 4일차 마무리 해시테이블

자료구조는 왜 공부해야하냐!! : 프로그램의 의도에 맞는 자료구조를 사용하여 효율적인 성능으로 구현하기 위해 해시 테이블 : 각 데이터(value)를 고유한 key에 대응하도록 저장하는 개념 좌) key 10101 데려와라! (ex_1학년 1반 1번 학생은 누구냐!) 우) value 데려옴 (ex_ 이름 엘리스, 성적은 100…) / 각각의 고유한 겹치지 않는 key에 대해서 데이터를 묶어줌. key가 정수이고 value 역시 정수인 Key-Value Store를 구현해보자 Key-Value쌍을 입력하는 연산은 put, 특정 Key의 Value를 조회하는 연산은 get이라고 정의 배열의 index를 key로 이용하기 배열에 value를 저장하고, 배열의 인덱스를 key로 이용하는 방식으로 구현해보자! 장..

자료구조 2024.04.13

[자료구조] 3일차 자료구조란? 주문 관리 시스템 문제 해결하기

주문 관리 시스템 : 주문 생성, 주문 제거, 주문 조회의 기능을 가진 주문 관리 시스템을 구현해야한다. 연결리스트로 구현했을 때 처리 속도가 너무 느림. (따라가면서 찾은 후 삭제 : 비효율) 연결리스트의 특정 노드를 삭제하기 위해서 그 특정 노드에 접근하는 과정이 필요. 연결리스트의 특성에 의해 특정 원소에 접근하기 위해서는 시작 원소부터 하나씩 따라가야함. 어떤 노드를 삭제하기 위해선 이전 노드와 다음 노드를 알고있어야함. 이 단점 개선 위해 연결 리스트 내에 딕셔너리를 두고, 모든 노드들의 정보를 저장하고 있도록 함. 딕셔너리: 내부적으로 해시 테이블이라는 자료구조로 동작 어떤 key에 대한 value를 o(1)의 시간 복잡도로 접근 : 주문번호에 대해 각 노드를 대응시키는 딕셔너리를 하나 만들어..

자료구조 2024.04.12

[자료구조] 2일차 자료구조란? - 구슬넣기 문제

💡 양쪽이 뚫린 파이프에 구슬을 넣을거다 : 이 문제에서는 연결 리스트가 더 좋다. 좋은 해법인지 판단하는 기준은 여러가지가 있다. 코드가 간결한가? 얼마나 빠른가? 리소스를 얼마나 차지하는가? 구현 시간이 짧은가? 등등 문제 해결방법 문제를 파악한다. : 어떤 자료를 담을지, 자료에 어떤 의미가 있는지 파악 자료구조에 필요한 기능을 파악한다. : 자료를 어떻게 사용하는지 파악 문제를 효율적으로 해결하는 자료구조를 설계 및 사용한다. : 목적에 맞는 자료구조로 문제를 해결 시간 복잡도 알고리즘이 문제를 해결하는 데 걸리는 시간을 정량화하여 나타낼 수 있는 방법 일반적으로, 문제에서 주어지는 최악의 경우에 대한 소요 시간을 나타내는 데 사용. 배열 대략 몇 개의 명령이 수행되는가? 구슬을 왼쪽으로 삽입하면..

자료구조 2024.04.10

[자료구조] 1일차 자료구조란?

자료구조 - 자료를 저장하는 구조 형태에 따라 장단점이 존재하며 구현하려는 프로그램의 성능을 고려하여 알맞은 자료구조를 선택해야한다. 프로그램의 자료를 효율적으로 담기위해 배움. 추상적 자료형 어떤 자료와 그 자료에 대한 연산(동작)들의 수학적인 정의를 의미한다. 그리고 그 정의를 구현하는 방법은 명시되어 있지 않다. 자료형 어떤 자료가 식별될 수 있는 방법과 그 자료에 대한 여러 가지 연산(동작)을 제공 💡 예시) 65 라는 자료가 수를 나타내는지 알파벨 ‘A’를 나타내는지 자료형을 모르는 경우에는 해석할 수 없다. 자료에 적용할 수 있는 연산을 결정한다. 자료를 특정 분류에 따라 올바르게 표현하기 위한 정의와, 그 구현이 바로 자료형 **** 정리) 추상적 자료형, 자료구조 차이 **** 추상적 자료..

자료구조 2024.04.08

자료구조 알고리즘 핵심완성

자료구조 알고리즘을 효율적으로 공부할 수 있는 방법은 없을까해서 찾아보다가 발견했다. 리뷰는 없지만 혼자 공부하는 것보다 커리큘럼이 있는 강의가 나을 것 같아 신청했다! 다음주부터 시작~! https://www.hrd.go.kr/hrdp/co/pcobo/PCOBO0100P.do?tracseId=AIG20220000409540&tracseTme=36&crseTracseSe=C0105&trainstCstmrId=500038398274#undefined 직업훈련포털 HRD-Net 등록된 시간표가 없습니다. www.hrd.go.kr

자료구조 2024.04.03

[자바스크립트 딥다이브] 8장 제어문

제어문 1. 블록문 { var foo = 10; } : 0개 이상의 문을 중괄호로 묶은 것. 2. 조건문 : 불리언 값으로 평가될 수 있는 표현식 (if … else문 , switch 문) if … else 문 : 단순한 값이면 상항연산자 사용하는 것이 좋음. : 만약 if문의 조건식이 불리언 값이 아닌 값으로 평가되면 js 엔진에 의해 암묵적으로 불리언 값으로 강제 변환 switch문 : 주어진 표현식을 평가하여 그 값과 일치하는 표현식을 갖는 case문 : if … else 문은 논리적 참, 거짓으로 실행할 코드블록을 결정한다면 switch문은 다양한 상환(case)에 따라 실행할 코드블록을 결정할 때 사용. var month = 11; var monthName; switch(month) { case..

언어/JavaScript 2024.04.02

[자바스크립트 딥다이브] 7장 연산자

연산자 표현식을 대상으로 산술, 비교 등을 수행해 하나의 값을 만듦. 이 때 연산의 대상을 피연산자라 함. 피연산자는 값으로 평가될 수 있는 표현식 1. 산술 연산자 : 피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자값을 만듦. 산술이 불가능한 경우 NaN을 반환 이항 산술 연산자 : 어떤 산술 연산을 해도 피연산자의 값이 바뀌는 경우는 없고 언제나 새로운 값을 만든다. 5 + 2; 5 - 2; 5 * 2; 5 / 2; 5 % 2; 단항 산술 연산자 : 1개의 피연산자를 산술 연산하여 숫자 값을 만듦. ++, -- → 피연산자의 값을 변경하는 부수 효과가 있음. (위치에 따라 의미가 다름) +, - → 부수효과 없음. var x = 5, result; result = x++; console.log(..

언어/JavaScript 2024.04.01