728x90 알고리즘47 [이것이 코딩 테스트다 with Python] 5강 파이썬 문법: 문자열, 튜플 자료형 https://www.youtube.com/watch?v=p6df7qv6jFQ&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=5 문자열 자료형 문자열 변수를 초기화할 때는 큰따옴표(")나 작은 따옴표(')를 이용 문자열 안에 큰따옴표나 작은따옴표가 포함되어야 하는 경우가 있음 전체 문자열을 큰따옴표로 구성하는 경우 내부적으로 작은따옴표를 포함할 수 있음 전체 문자열을 작은따옴표로 구성하는 경우 내부적으로 큰따옴표를 포함할 수 있음 혹은 백슬래시(\)를 사용하면 큰따옴표나 작은따옴표를 원하는 만큼 포함시킬 수 있음 data = 'Hello World' print(data) data = "Don't you know \"Python\"?" print(data) 실행 결과 H.. CodingTest 2021. 1. 4. [이것이 코딩 테스트다 with Python] 4강 파이썬 문법: 리스트 자료형 https://www.youtube.com/watch?v=GUwkMLtDQJE&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=4 리스트 자료형 여러 개의 데이터를 연속적으로 담아 처리하기 위해 사용하는 자료형 사용자 입장에서 C나 자바에서의 배열(Array)의 기능 및 연결 리스트와 유사한 기능을 지원 C++의 STL vector와 기능적으로 유사함 리스트 대신에 배열 혹은 테이블이라고 부르기도 함 리스트 초기화 리스트는 대괄호([])안에 원소를 넣어 초기화하며 쉼표(,)로 원소를 구분 비어 있는 리스트를 선언하고자 할 때는 list() 혹은 간단히 []를 이용할 수 있음 리스트의 원소에 접근할 때는 인덱스(Index) 값을 괄호에 넣음 인덱스는 0부터 시작 # 직접 .. CodingTest 2021. 1. 4. [이것이 코딩 테스트다 with Python] 3강 파이썬 문법 수 자료형 https://www.youtube.com/watch?v=INg6kdOEEVc&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=3 자료형 모든 프로그래밍은 결국 데이터를 다루는 행위 자료형에 대한 이해는 프로그래밍의 길에 있어서의 첫걸음이라고 할 수 있음 파이썬의 자료형으로는 정수형, 실수형, 복소수형, 문자열, 리스트, 튜플, 사전 등이 있음 파이썬의 자료형은 필수적으로 알아 두어야 함 정수형 정수형(Integer)은 정수를 다루는 자료형 양의 정수, 음의 정수, 0이 포함됨 코딩 테스트에서 출제되는 많은 문제들은 정수형을 주로 다루게 됨 # 양의 정수 a = 1000 print(a) # 음의 정수 a = -7 print(a) # 0 a = 0 print(a) 실행 결.. CodingTest 2021. 1. 4. [이것이 코딩 테스트다 with Python] 2강 알고리즘 성능 평가 www.youtube.com/watch?v=Pj3IX2VehkU&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=2 알고리즘 성능 평가 복잡도(Complexity) 복잡도는 알고리즘의 성능을 나타내는 척도 시간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 수행 시간 분석 공간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 메모리 사용량 분석 동일한 기능을 수행하는 알고리즘이 있다면 일반적으로 복잡도가 낮을수록 좋은 알고리즘 빅오 표기법(Big-O Natation) 가장 빠르게 증가하는 항만을 고려하는 표기법 함수의 상한만을 나타내게 됨 예를 들어 연산 횟수가 3N³ + 5N² + 1,000,000인 알고리즘이 있다면 빅오 표기법에서는 차수가 가장 큰 항만 남기므로 .. CodingTest 2021. 1. 4. [이것이 코딩 테스트다 with Python] 1강_코딩 테스트란 무엇인가? + 카카오, 라인, 삼성전자 출제 경향 www.youtube.com/watch?v=Mf0pYO8VAZk&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=1 이것이 코딩 테스트다 소스코드 https://github.com/ndb796/python-for-coding-test 온라인 저지(Online Judge) 란? 프로그래밍 대회나 코딩 테스트에서 나올 법한 문제를 시험해보는 온라인 시스템 사이트명 URL 코드포스(Codeforces) http://www.codeforces.com 탑코더(TopCoder) https://www.topcoder.com 릿코드(LeetCode) https://leetcode.com 코드셰프(CODECHEF) https://www.codechef.com 백준 온라인 저지(BOJ) .. CodingTest 2021. 1. 4. [이것이 코딩 테스트다] 10. 개발형 코딩 테스트 www.youtube.com/watch?v=d8KPN79UAKA&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=10 개발형 코딩 테스트 정해진 목적에 따라서 동작하는 완성된 프로그램을 개발하는 것을 요구하는 코딩 테스트 유형 일부 기업은 해커톤을 통해 채용을 진행한다 해커톤(Hackathon)이란 단기간에 아이디어를 제품화하는 프로젝트 이벤트이다 대개 1~2일 정도 진행되며 다수의 해커톤이 대회 형식을 빌려 해커톤이 끝나면 만든 프로그램을 시연하고 발표한 다음 채점을 진행한다 개발형 코딩 테스트는 분야에 따라 상세 요구사항이 다를 수 있다 예시 1) 모바일 클라이언트 개발: 안드로이드, iOS 앱 개발 예시 2) 웹 서버 개발: 스프링(Spring), 장고(Django.. CodingTest 2020. 10. 11. [이것이 코딩 테스트다] 9. 기타 알고리즘 www.youtube.com/watch?v=cswJ1h-How0&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=9 기타 알고리즘 소수 (Prime Number) 소수란 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 자연수로는 나누어떨어지지 않는 자연수이다 6은 1, 2, 3, 6으로 나누어떨어지므로 소수가 아니다 7은 1과 7을 제외하고는 나누어떨어지지 않으므로 소수이다 코딩 테스트에서는 어떠한 자연수가 소수인지 아닌지 판별해야 하는 문제가 자주 출제된다 소수의 판별: 기본적인 알고리즘 (Python) # 소수 판별 함수(2이상의 자연수에 대하여) def is_prime_number(x): # 2부터 (x - 1)까지의 모든 수를 확인하며 for i in range.. CodingTest 2020. 10. 10. [이것이 코딩 테스트다] 8. 기타 그래프 이론 www.youtube.com/watch?v=aOhhNFTIeFI&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=8 기타 그래프 이론 서로소 집합 서로소 집합(Disjoint Sets)란 공통 원소가 없는 두 집합을 의미 서로소 집합 자료구조 서로소 부분 집합들로 나누어진 원소들의 데이터를 처리하기 위한 자료구조 서로소 집합 자료구조는 두 종류의 연산을 지원한다 합집합(Union): 두 개의 원소가 포함된 집합을 하나의 집합으로 합치는 연산 찾기(Find): 특정한 원소가 속한 집합이 어떤 집합인지 알려주는 연산 서로소 집합 자료구조는 합치기 찾기(Union Find) 자료구조라고 불리기도 한다 여러 개 합치기 연산이 주어졌을 때 서로소 집합 자료구조의 동작 과정은 다음.. CodingTest 2020. 10. 10. [이것이 코딩 테스트다] 6. 다이나믹 프로그래밍 www.youtube.com/watch?v=5Lu34WIx2Us&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=6 다이나믹 프로그래밍 다이나믹 프로그래밍은 동적 계획법이라고도 부른다 일반적인 프로그래밍 분야에서의 동적(Dynamic)이란 어떤 의미를 가질까? 자료구조에서 동적 할당(Dynamic Allocation)은 '프로그램이 실행되는 도중에 실행에 필요한 메모리를 할당하는 기법'을 의미한다 반면에 다이나믹 프로그래밍에서 '다이나믹'은 별다른 의미 없이 사용된 단어이다 다이나믹 프로그래밍은 다음의 조건을 만족할 때 사용할 수 있다 최적 부분 구조 (Optimal Substructure) 큰 문제를 작은 문제로 나눌 수 있으며 작은 문제로 나눌 수 있으며 작은 문제의.. CodingTest 2020. 10. 4. [이것이 코딩 테스트다] 5. 이진 탐색 www.youtube.com/watch?v=94RC-DsGMLo&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=5 이진 탐색 알고리즘 순차 탐색: 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 확인하는 방법 이진 탐색: 정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법 이진 탐색은 시작점, 끝점, 중간점을 이용하여 탐색 범위를 설정한다 이진 탐색 동작 예시 이미 정렬된 10개의 데이터 중에서 값이 4인 원소를 찾는 예시를 살펴보자 [Step 1] 시작점: 0, 끝점: 9, 중간점: 4 (소수점 이하 제거) [Step 2] 시작점:0, 끝점: 3, 중간점: 1 (소수점 이하 제거) [Step 3] 시작점: 2, 끝점: .. CodingTest 2020. 10. 4. [이것이 코딩 테스트다] 2. 그리디 & 구현 www.youtube.com/watch?v=2zjoKjt97vQ&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=2 그리디 알고리즘 그리디 알고리즘(탐욕법)은 현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미 일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구함 그리디 해법은 그 정당성 분석이 중요 단순히 가장 좋아 보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토함 [문제 상황] 루트 노드부터 시작하여 거쳐 가는 노드 값의 합을 최대로 만들고 싶음 Q. 최적의 해는 무엇인가? 일반적인 상황에서 그리디 알고리즘은 최적의 해를 보장할 수 없을 때가 많음 하지만 코딩 테스트에서 대부분의 그리디 문제는 탐욕법으로 .. CodingTest 2020. 10. 3. 이전 1 2 3 4 다음 💲 추천 글 728x90