일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- SQL
- 그래프
- Trie
- DP
- Two Points
- String
- binary search
- 스토어드 프로시저
- 이진탐색
- Dijkstra
- two pointer
- Stored Procedure
- 다익스트라
- Hash
- Brute Force
- MYSQL
- union find
- Today
- Total
목록분류 전체보기 (425)
codingfarm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 from queue import PriorityQueue import random class Human: age = 0 weight = 0 height = 0 def __init__(self, age = 20, weight= 70, height=180): self.age = age self.weight = weight self.height = height def __lt__(self, other): if self.age != other.age: return se..

1.데이터 모델(Data Model) 정의 : 현실 세계의 개체(entity)를 컴퓨터의 data로 기술하기 위해 단순화, 추상화 형태로 표현한 개념적 모형 데이터 모델의 구성 요소 구조(structure) : DB에 표현될 대상, 개체 타입간의 관계를 기술 연산(Operation) : DB에 표현된 개체 인스턴스를 처리하는 작업에 대해 명세한 것, DB를 조작하는 기본 도구 제약 조건(constraint) : DB에 허용될 수 있는 개체 인스턴스에 대한 논리적 제약을 명세한 것 개념적 데이터 모델 개체 타입(Entity type)과 관계 타입(Relationship type)을 이용해 현실세계를 개념적으로 표현하는 개념적 모형 대표적으로 개체-관계 모델(E-R Model)이 있다. 2. 개체-관계 모델..

1. DB 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합 파일시스템의 단점을 극복하기 위해 고안 1-1. DB의 정의 통합 데이터(Integrated Data) 한곳에 통합 최소한의 중복 저장 데이터(Stored Data) 컴퓨터가 접근 가능한 매체에 저장되어야 함 운영 데이터(Operational Data) 시스템의 운영에 반드시 필요한 데이터를 포함 공용 데이터(Shared data) 여러 사용자에 의해 공유됨 1-2. DB의 특성 실시간 접근성(Real-time Accessibility) query에 대해 실시간 처리 가능 계속적인 변화(Continuous Evolution) 새로운 데이터의 삽입, 삭제, 갱신을 통해정확한 자료를 유지 동시 공용(Concurrent Sh..
[주니어 개발자를 위한 취업 정보] github.com/jojoldu/junior-recruit-scheduler [SW 직군 면접 -CS, 개발지식들, 백엔드 포함 ] github.com/JaeYeopHan/Interview_Question_for_Beginner github.com/WeareSoft/tech-interview github.com/gyoogle/tech-interview-for-developer goodgid.github.io/Prepared-for-Computer-Science/ [SW -데이터 직군 공부 방법, 지식들 git] github.com/Team-Neighborhood/I-want-to-study-Data-Science [AI 관련 면접 주제] zzsza.github.io/..
zzsza.github.io/data/2018/02/17/datascience-interivew-questions/ 데이터 사이언스 인터뷰 질문 모음집 데이터 사이언스 분야의 인터뷰 질문을 모아봤습니다. (데이터 분석가 / 데이터 사이언티스트 / 데이터 엔지니어) 구직자에겐 예상 질문을 통해 면접 합격을 할 수 있도록, 면접관에겐 좋은 면접 zzsza.github.io 데이터 사이언스 분야의 인터뷰 질문을 모아봤습니다. (데이터 분석가 / 데이터 사이언티스트 / 데이터 엔지니어) 구직자에겐 예상 질문을 통해 면접 합격을 할 수 있도록, 면접관에겐 좋은 면접 질문을 할 수 있도록, 딥러닝 공부하는 분들에겐 용어를 알 수 있도록 도와드리기 위해 본 문서를 만들게 되었습니다. 다만 여기에 나온 모든 것들을 알..

1. 프로그램 오류 에러는 프로그램의 오작동, 비정상적인 종료를 야기한다. 컴파일 에러 : 컴파일 시 발생하는 에러, 자바 컴파일러가 감지한다. 런타임 에러 : 프로그램의 실행도중 발생하는 에러, JVM이 감지한다. JAVA에서는 런타임 에러를 에러(error)와 예외(exception) 두 가지로 구분하였다. 에러 메모리 부족(OtOfMemoryError)나 스택오버플로우(StackOverflowError) 처럼 발생하면 복구할 수 없는 심각한 오류 비정상적인 종료를 막을 수 없다. 예외 발생하더라도 수습가능한 비교적 덜 심각한 오류 이를 대비할 수 있는 코드를 미리 작성하여 비정상적인 오류를 막을 수 있다. ※ 컴파일 에러도 예외처리가 가능하다. 2. 예외처리의 정의와 목적 정의 : 프로그램 실행 시..

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #include #include #include using namespace std; class A { public: priority_queue* pq; A() : pq(new priority_queue) {} ~A() { delete pq; } }; int main(void) { vector va; va.push_back(A()); delete va[0].pq; return 0; } Colored by Color Scripter cs vector에 push_back을 하면서 A인스턴스의 생성자가 호출될것이며 main 함수의 종료와 함께 vector가 소멸하면서 A의 소멸자도 함께 ..

문자열 검색에서 매우 빠른 성능을 보이는 알고리즘 여러 기업에서 난이도 있는 문제의 주제로 자주 출제되는 추세이다. 가령 to, tea, ted, ten, a, inn 6개의 단어에 대해 trie 알고리즘을 적용했을 때 트리의 구조는 아래와 같다. 트라이 노드의 내부 구조는 단순하다. 자신과 같은 타입의 노드를 자식노드라 가지며 새로운 단어를 추가하거나 초기화 하기 위해선 해당 함수를 재귀적으로 호출하면 된다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59..
programmers.co.kr/learn/courses/30/lessons/42577# 위 문제를 잘못 이해하고 풀었다. 특정 문자열이 주어질때, 앞자리가 같은 문자열이 존재하면 false 없으면 true를 반환해야한다. 가령 123456 123789 위 2개의 숫자는 앞자리 123이 일치하므로 false를 반환해야한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 ..

인터페이스란? 추상클래스보다 추상화의 정도가 높은 클래스이다. 일반 메서드나 필드를 구성원으로 가질 수 없다. 오직 추상 메서드와 상수만을 멤버로 가진다. 추상 클래스 인터페이스 부분적으로만 완성된 '미완성 설계도' 구현된것이 아무것도 없는 '기본 설계도' 작성법 키워드로 class 대신 interface를 사용한다. 나머지는 일반 클래스와 작성법이 같다. 접근제어자로 public 또는 default를 쓸 수 있다. 1 2 3 4 interface 인터페이스이름 { public static final 타입 상수이름 = 값; public abstract 반환타입 메서드이름(매개변수목록); } Colored by Color Scripter cs 인스턴스의 멤버들은 다음과 같은 제약사항을 가진다. 모든 멤버변..

추상클래스란? 추상메서드를 포함한 클래스 추상메서드 : 선언부만 있고, 구현부는 없는 메서드 구현부 작성은 추상클래스를 상속받는 자식클래스에서 수행한다. 일반 클래스처럼 필드, 일반 메서드를 가질수 있고, 인스턴스화도 가능하다. 문법 : 키워드 abstract를 붙이면 된다. 1 2 3 abstract class 클래스이름 { // ... } cs 추상 메서드는 키워드 'abstract'를 함수 선언부 앞에 붙이면된다. 아무 내용도 없는 메서드로 작성해도 추상메서드가 되지만, abstract를 붙여야 자손 클래스에서 구현을 강요할 수 있다. 1 2 abstract 리턴타입 메서드이름1(); 리턴타입 메서드이름2() {}; cs 추상 클래스로부터 상속받는 자손클래스는 오버라이딩을 통해 추상메서드를 모두 구..

1. 다형성이란? 정의 : 여러가지 형태를 가질 수 있는 능력 OOP의 4대 특징 중 하나 추상화 캡슐화 상속성 다형성 JAVA에서는 조상클래스 타입의 참조변수로 자손 클래스의 인스턴스를 참조할 수 있도록 하여 다형성을 구현한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 class Tv{ boolean power; int channel; void power() { power = !power; } void channelUp() { ++channel; } void channelDown() { --channel; } } class CaptionTv extends Tv{ String text; // 캡션을 보여주기 위한 문자열 void caption() {/*...*/} } Colored by Co..
1. 내부슬롯(internal slot)과 내부 메서드(internal method) js engine의 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 사용하는 의사 프로퍼티(pseudo property)와 의사 메서드(pseudo method)다. ECMAScript 사양에 등장하는 이중 대괄호[[...]]로 감싼 이름들이 internal slot과 internal method 이다. 262.ecma-international.org/#sec-object-internal-methods-and-internal-slots internal slot과 internal method는 JS engine의 내부 로직이므로, javascript는 이들에 대해 직접적으로 접근하거나 호출할 방법을 제공하지 않..
전역 변수는 암묵적 결합을 허용한다. 암묵적 결합 : 전역변수를 코드 어디서든 참조하고 할당할 수 있는 성질 긴 생명주기 메모리 리소스를 차지하는 기간이 길어진다. 스코프 체인상에 종점에 존재 검색 속도가 느리다. 네임스페이스 오염 자바스크립트는 파일이 분리되어 있어도 하나의 전역 스코프를 공유한다. 다른 파일 내에 동일한 이름으로 명명된 전역 변수나 함수가 같은 global scope 상에 존재함에 따라 유지보수가 어려워진다. 전역변수의 사용을 억제하는 방법 1. 즉시 실행 함수 모든 코드를 즉시 실행 함수로 감싸면 모든 전역 변수는 즉시 실행 함수의 지역변수가 된다. 1 2 3 4 5 6 (function () { var foo = 10; // ... }()); console.log(foo); // ..
1. 지역변수의 생명 주기 생명주기(life cycle) : 변수의 메모리가 확보(allocate)된 시점부터 해제(release)되어 가용 메모리 풀(memory pool)에 반환되는 시점 변수는 자신이 선언된 scope 내에서 생성되고 소멸된다. 전역변수의 생명 주기 = 애플리케이션의 생명주기 지역변수의 생명 주기 = 함수의 생명 주기 호이스팅은 스코프를 단위로 작동한다. 1 2 3 4 5 6 7 8 9 kjjvar x = 'global'; function foo() { console.log(x); // undefined var x = 'local'; } foo(); console.log(x); // global cs 2. 전역 변수의 생명 주기 전역 코드는 코드가 로드되자마자 곧바로 해석되고 실행되..
1. 제어자란? 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 하나의 대상에 대해 여러 제어자를 조합하여 쓰는것이 가능하다. 한번에 네 가지 중 하나만 선택해서 사용할 수 있다. ex) public과 private를 함께 쓸 수 없다. 접근제어자와 그 외의 제어자로 나뉜다. 접근 제어자 - public, protected, default, private 그 외 - static, final, abstract, native, transient, synchronized, volatile, strictfp 2. static 의미 : '클래스의', '공통적인' 사용될 수 있는 곳 - 멤버변수, 메섣, 초기화 블럭 제어자 대상 의미 static 멤버변수 - 모든 인스턴스에 공통적으로..

1. 스코프란? 특정 변수들에 접근 가능한 '유효범위' JS engine이 식별자를 검색할 때 사용하는 규칙 1 2 3 4 5 6 7 8 9 var x = 'global'; function foo(){ var x = 'local'; console.log(x); // local } foo(); console.log(x); // global cs 스코프는 변수 및 함수의 접근 범위를 지칭하는 네임스페이스 라고도 볼 수 있다. scope를 통해 같은 이름을 가진 변수간의 충돌을 막을 수 있다. 2. 스코프의 종류 코드는 전역(global)과 지역(local)로 구분할 수 있다. 구분 설명 스코프 변수 전역 코드의 가장 바깥 영역 전역 스코프 전역 변수 지역 함수 몸체 내부 지역 스코프 지역 변수 3. 스코프 ..
var 키워로 선언된 변수는 같은 스코프 내에서 중복 선언이 허용된다. 1 2 3 4 5 6 function foo(){ var x = 1; var x = 2; console.log(x); } foo(); cs 하지만 let이나 const 키워드로 선언된 변수는 같은 스코프 내에서 중복 선언을 허용하지 않는다. 123456function foo(){ let x = 1; let x = 2; console.log(x); // SyntaxError: Identifier 'x' has already been declared}foo();Colored by Color Scriptercs
4. 작업 예약 주기적으로 반복해야하는 작업을 예약할 수 있는 방법이 주어진다. 정해진 시간에 한번만 수행 정해진 시간에 반복 수행 1. 정해진 시간에 한 번 실행하기 at 명령어 2. 정해진 시간에 반복 실행하기 crontab 명령어

manpages.ubuntu.com/manpages/focal/en/man1/at.1posix.html at [option] time 정해진 시간에 한번만 명령을 실행한다. 옵션 -l : 현재 실행 대기 중인 명령의 전체 목록을 출력한다.(atq 명령과 동일) -r 작업번호 : 현재 실행 대기 중인 명령 중 해당 작업 번호를 삭제 한다.(atrm과 동일). -m : 출력 결과가 없더라도 작업이 완료되면 사용자에게 메일로 알려준다. -f 파일 : 표준 입력 대신 실행할 명려을 파일로 지정한다. 사용 예 at 10:00 pm at 8:15 am May 30 at -m 0730 tomorrow at 명령 설치하기 ubuntu 데스크톱에는 at 명령이 기본으로 설치되지 않은 경우가 있다. 아래 명령어로 at을 ..