본문 바로가기

Computer Science23

[Python] is 와 == 의 차이 *is / == 차이 == is for value equality. Use it when you would like to know if two objects have the same value. is is for reference equality. Use it when you would like to know if two references refer to the same object. 즉, is는 변수가 같은 Object(객체)를 가리키면 True ==는 변수가 같은 Value(값)을 가지면 True *is의 예시 - a와 b는 같은 리스트 객체를 가리킨다 - a와 b는 같은 객체이기 때문에 True - a와 c는 값은 같지만 다른 객체이기 때문에 False # 리스트 선언 a = [1, 2, 3] b.. 2021. 1. 26.
집합 연산자 개념과 종류 집합 연산자(Set Operator) 개념과 종류 두 개 이상의 테이블에서 JOIN을 사용하지 않고 연관된 데이터를 조회하는 다른 방법이 있다. 바로 집합 연산자(Set Operator)를 사용하는 방법이다. 1. 정의 집합 연산자는 2개 이상의 질의 결과를 하나의 결과로 만들어 준다. 2. 언제 사용하냐? -서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합치고자 할 때 -동일 테이블에서 서로 다른 질의를 수행해 결과를 합치고자 할 때 -튜닝 관점에서 실행계획을 분리하고자 할 때 3. 집합 연산자를 사용하기 위한 조건? -SELECT 절의 column 수가 동일하고 SELECT 절의 동일 위치에 존재하는 column의 datatype이 동일해야 한다. 그렇지 않으면 데이터베이스가.. 2021. 1. 20.
[SQL] JOIN 개념과 종류, JOIN 컬럼에 NULL이 있을 때 실습 예제 [SQL] JOIN 개념과 종류 JOIN : 서로 다른 테이블에서 가져온 레코드들을 공통된 필드를 기준으로 합쳐준다. SELECT 필드이름1, 필드이름2, ... FROM 테이블이름1 옵션 JOIN 테이블이름2 ON 테이블이름1.필드이름 = 테이블이름2.필드이름 1) INNER JOIN(내부 조인) : 두 테이블 모두에 기준 필드의 값이 있는 레코드만 가져온다. 2) LEFT JOIN : 조인문의 왼쪽 테이블의 모든 결과를 가져 온 후 오른쪽 테이블의 데이터를 매칭하고, 매칭되는 데이터가 없는 경우 NULL로 표시한다. SELECT 검색할 컬럼 FROM 테이블명 LEFT JOIN 테이블명2 ON 테이블.컬럼명 = 테이블2.컬럼명; 3) RIGHT JOIN : 조인문의 오른쪽 테이블의 모든 결과를 가져온 .. 2021. 1. 17.
최단경로 알고리즘 (1) - 다익스트라 알고리즘 *최단경로 알고리즘: 특정 지점까지 가장 빠르게 도달하는 방법을 찾는 알고리즘 *최단경로 알고리즘의 종류 1) 다익스트라 알고리즘 2) 플로이드 워셜 알고리즘 3) 벨만 포드 알고리즘 코딩테스트에 자주 나오며 면접에서도 꼭 알아둬야 하는 개념이다. *최단경로 문제 형태 Q. 한 지점에서 다른 특정 지점까지의 최단 경로(거리, 시간, 비용, etc)를 구해야 하는 경우 Q. 모든 지점에서 다른 모든 지점까지 최단 경로(거리, 시간, 비용, etc)를 모두 구해야 하는 경우 각 주제에 대해 다음 순으로 포스팅하려 한다. 1) 다익스트라 알고리즘 -> 2) 플로이드 워셜 알고리즘 -> 3) 벨만 포드 알고리즘 *다익스트라 알고리즘 1. 정의 그래프에서 여러 개의 노드가 있을 때, 특정한 노드에서 출발하여 다른.. 2021. 1. 16.
[파이썬] 클래스 변수 vs 인스턴스 변수 차이 *파이썬 클래스 변수 vs 인스턴스 변수 차이 면접에서 받은 질문이어서 정리해둔다. 다음과 같은 차이가 있다. 클래스 변수 인스턴스 변수 무엇인가? 클래스 내부에 선언된 변수 self가 붙어 있는 변수. 클래스의 인스턴스가 생성될 때 생성 변수의 존재 위치 class의 namespace에 위치 instance의 namespace의 위치 언제 사용? 인스턴스 간에 서로 공유해야 하는 값. 클래스 변수는 모든 인스턴스에 공유된다. (e.g. 현재 은행에 총 개설된 계좌의 개수) 인스턴스 간 고유한 값. 다른 인스턴스에 공유되면 안 되는 값. (e.g. 이름) class Account: num_accounts = 0 def __init__(self, name): self.name = name Account.n.. 2021. 1. 12.