[이것이 취업을 위한 코딩 테스트다 with 파이썬] 1. 파이썬 문법 부수기
·
Programming Language/Python
자료형: 정수형, 실수형, 복소수형, 문자열, 리스트, 튜플, 사전 등 1강: 수 자료형정수형(Integer): 정수를 다루는 자료형양의 정수, 음의 정수, 0실수형(Real Number): 소수점 아래의 데이터를 포함하는 수 자료형변수에 소수점을 붙인 수 대입 -> 실수형 변수로 처리소수부 0 or 정수부 0인 소수 -> 0 생략하고 작성 가능지수 표현 방식: 유효숫자e^지수 = 유효숫자 *10^지수e or E 이용한 지수 표현 방식 이용e or E 다음에 오는 수는 10의 지수부 의미ex. 1e9 -> 10의 9제곱(1,000,000,000)임의의 큰 수 표현하기 위해 사용최단 경로 알고리즘: 도달할 수 X  노드에 대하여 최단 거리 -> 무한(INF)로 설정가능한 최대값이 10억 미만 -> 무한(I..
[이것이 취업을 위한 코딩 테스트다 with 파이썬] 10. 개발형 코딩 테스트
·
Computer Science/자료구조 | 알고리즘
개발형 코딩 테스트알고리즘 코딩 테스트요구 사항에 맞는 하나의 모듈 개발시간 복잡도 분석 / 공간 복잡도 분석개발형 코딩 테스트완성도 높은 하나의 프로그램을 개발모듈을 적절히 조합하는 능력 요구정해진 목적에 따라서 동작하는 완성된 프로그램을 개발하는 것을 요구하는 코딩 테스트 유형일부 기업은 해커톤 ~> 채용 진행해커톤(Hackathon): 단기간에 아이디어를 제품화하는 프로젝트 이벤트대개 1 ~ 2일 정도 진행, 다수의 해커톤이 대회 형식을 빌려 해커톤이 끝나면 만든 프로그램 시연 -> 발표 -> 채점분야에 따라 상세 요구사항이 다를 수 있음ex 1. 모바일 클라이언트 개발: 안드로이드, iOS 앱 개발ex 2. 웹 서버 개발: 스프링(Spring), 장고(Django)등의 서버 개발 프레임워크 활용B..
[이것이 취업을 위한 코딩 테스트다 with 파이썬] 8. 기타 그래프 이론
·
Computer Science/자료구조 | 알고리즘
서로소 집합(Disjoint Sets) 자료구조 = 합치기 찾기(Union Find) 자료구조서로소 집합: 공통 원소가 없는 두 집합서로소 부분 집합들로 나눠진 원소들의 데이터를 처리하기 위한 자료구조2종류의 연산 지원합집합(Union): 두 개의 원소가 포함된 집합을 하나의 집합으로 합치는 연산찾기(Find): 특정한 원소가 속한 집합이 어떤 집합인지 알려주는 연산동작 과정여러 개의 합치기 연산이 주어졌을 때 서로소 집합 자료구조의 동작 과정합집합(Union) 연산을 확인 -> 서로 연결된 두 노드 A, B 확인A와 B의 루트 노드 A', B'를 각각 찾음A'를 B'의 부모 노드로 설정모든 합집합(Union) 연산을 처리할 때까지 1번의 과정 반복연결성연결성 ~> 손쉽게 집합 형태를 확인기본적인 형태의..
[이것이 취업을 위한 코딩 테스트다 with 파이썬] 7. 최단 경로 알고리즘
·
Computer Science/자료구조 | 알고리즘
최단 경로 알고리즘가장 짧은 경로를 찾는 알고리즘 다양한 문제 상황한 지점에서 다른 한 지점까지의 최단 경로한  지점에서 다른 모든 지점까지의 최단 경로모든 지점에서 다른 모든 지점까지의 최단 경로각 지점 -> 그래프에서 노드로 표현지점 간 연결된 도로 -> 그래프에서 간선으로 표현다익스트라 최단 경로 알고리즘특정한 노드에서 출발하여 다른 모든 노드로 가는 최단 경로를 계산음의 간선이 없을 때 정상적으로 동작현실 세계의 도로(간선) -> 음의 간선으로 표현 X그리디 알고리즘으로 분류매 상황에서 가장 비용이 적은 노드를 선택해 임의의 과정 반복동작 과정출발 노드 설정최단 거리 테이블 초기화방문 X 노드 중에서 최단 거리가 가장 짧은 노드 선택해당 노드를 거쳐 다른 노드로 가는 비용을 계산 -> 최단 거리 ..
[이것이 취업을 위한 코딩 테스트다 with 파이썬] 6. 다이나믹 프로그래밍
·
Computer Science/자료구조 | 알고리즘
다이나믹 프로그래밍메모리를 적절히 사용하여 수행 시간 효율성을 비약적으로 향상시키는 방법이미 계산된 결과(작은 문제)는 별도의 메모리 영역에 저장 -> 다시 계산하지 않도록 함다이나믹 프로그래밍의 구현 -> 2가지 방식(탑다운 / 보텀업)조건최적 부분 구조(Optimal Substructure)큰 문제 -> 작은 문제 나눌 수 있음, 작은 문제의 답 모아 -> 큰 문제 해결할 수 있음중복되는 부분 문제(Overlapping Subproblem)동일한 작은 문제를 반복적으로 해결해야 함피보나치(Fibonacci) 수열1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...다이나믹 프로그래밍으로 효과적으로 계산할 수 있음피보나치 수열 -> 점화식으로 표현: $a_n = a_{n-1} + a..
[이것이 취업을 위한 코딩 테스트다 with 파이썬] 5. 이진 탐색
·
Computer Science/자료구조 | 알고리즘
이진 탐색 알고리즘순차 탐색리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 확인하는 방법이진 탐색정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법시작점, 끝점, 중간점 이용 -> 탐색 범위 설정예시이미 정렬된 10개의 데이터 중 값이 4인 원소 찾기[Step 1] 시작점: 0, 끝점: 9, 중간점: 4 (소수점 이하 제거)[Step 2] 시작점: 0, 끝점: 3, 중간점: 1 (소수점 이하 제거)[Step 3] 시작점: 2, 끝점: 3, 중간점: 2 (소수점 이하 제거)시간 복잡도단계마다 탐색 범위를 2로 나누는 것과 동일 -> 연산 횟수는 $log_2N$에 비례ex. 초기 데이터 개수 32개 -> 이상적으로 1단계 거치면 16개가량의 데이터 남음2단계 ..
0123suh
'이것이취업을위한코딩테스트다' 태그의 글 목록