본문 바로가기

전체 글109

최단경로 알고리즘 (1) - 다익스트라 알고리즘 *최단경로 알고리즘: 특정 지점까지 가장 빠르게 도달하는 방법을 찾는 알고리즘 *최단경로 알고리즘의 종류 1) 다익스트라 알고리즘 2) 플로이드 워셜 알고리즘 3) 벨만 포드 알고리즘 코딩테스트에 자주 나오며 면접에서도 꼭 알아둬야 하는 개념이다. *최단경로 문제 형태 Q. 한 지점에서 다른 특정 지점까지의 최단 경로(거리, 시간, 비용, etc)를 구해야 하는 경우 Q. 모든 지점에서 다른 모든 지점까지 최단 경로(거리, 시간, 비용, etc)를 모두 구해야 하는 경우 각 주제에 대해 다음 순으로 포스팅하려 한다. 1) 다익스트라 알고리즘 -> 2) 플로이드 워셜 알고리즘 -> 3) 벨만 포드 알고리즘 *다익스트라 알고리즘 1. 정의 그래프에서 여러 개의 노드가 있을 때, 특정한 노드에서 출발하여 다른.. 2021. 1. 16.
2020년~2016년 주요 기업 코딩 테스트 유형 분석 2020년~2016년 주요 기업 코딩 테스트 유형 분석 날짜 풀이 시간 문제 개수 커트라인 주요 문제 유형 시험 유형 라인 상반기 (2020-04-05) 2시간 30분 6문제 4문제 구현, 문자열, 자료구조 온라인 삼성전자 상반기 (2020-06-07) 3시간 2문제 2문제 완전 탐색, 시뮬레이션, DFS/BFS 오프라인 삼성전자 상반기 (2019-04-14) 3시간 2문제 2문제 완전 탐색, 시뮬레이션, 구현, DFS/BFS 오프라인 삼성전자 하반기 (2019-10-20) 3시간 2문제 2문제 완전 탐색, 시뮬레이션, 구현, DFS/BFS 오프라인 카카오 1차 (2019-09-07) 5시간 7문제 4문제(예상) 구현, 이진 탐색, 자료구조 온라인 카카오 2차 (2019-09-21) 5시간 1문제 - 추.. 2021. 1. 16.
Optimizer 정리 optimizer 정리 optimizer는 Gradient descent로 w를 update할 때 사용하는 알고리즘으로, w 변화량을 구해 어느 방향/스텝사이즈로 나아가야 하는지 알려주는 알고리즘. fine-tuning 단계에서 optimizer를 sgd, adam 등을 써보며 튜닝을 하는데, optimizer 역사를 살펴보면 다음과 같다. *Optimizer의 역사 GD: 전체 데이터셋을 갖고 한발자국 전진할 때마다(learning rate) 최적의 값을 찾아 나간다 모든 데이터를 계산한다 최적의 한스텝을 나아간다 -> 느리다 SGD: 일부 데이터셋만을 갖고 최적의 값을 찾아 나간다 일부 데이터만 계산한다 빠르게 전진한다 -> 그러나 최적의 값을 찾아가는 방향이 뒤죽박죽이고, local minimum에.. 2021. 1. 13.
[파이썬] 클래스 변수 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.
conda 터미널 명령어 conda 터미널 명령어 정리 conda navigator도 있지만, conda terminal 환경에서 작업할 경우 명령어로 작업해야 한다. 매우 쉽지만 맨날 구글링하기 귀찮아서 정리한다. 찾아보니 아래와 같은 cheatsheet도 있다! Conda basics - 설치된 아나콘다 정보 조회 (Verify conda is installed, check version number) $ conda info - conda 최신 버전으로 업데이트 (Update conda to the current version) $ conda update conda - conda 패키지 설치 (Install a package included in Anaconda) $ conda install PACKAGENAME - 패키지 .. 2021. 1. 12.
numpy의 dot / matmul 차이 *numpy에서 dot 함수 *numpy에서 matmul 함수 -참고문헌 m.blog.naver.com/PostView.nhn?blogId=cjh226&logNo=221356884894&proxyReferer=https:%2F%2Fwww.google.com%2F 2021. 1. 12.
728x90