파이썬으로 익히는 말랑말랑 알고리즘 또는 퇴근 후, 손글씨 세트
땅끝
2024-01-25 08:44
496
0
본문
파이썬으로 익히는 말랑말랑 알고리즘
도서명 : 파이썬으로 익히는 말랑말랑 알고리즘
저자/출판사 : 김경록, 비제이퍼블릭
쪽수 : 448쪽
출판일 : 2022-01-27
ISBN : 9791165921064
정가 : 30000
1장. 알고리즘이란?
1.1. 알고리즘을 공부하는 이유
1.2. 알고리즘이 어려운 이유
1.3. 코딩 테스트 준비의 시작
1.4. 코딩 테스트를 보는 이유
1.5. 좋은 알고리즘이란?
1.6. 알고리즘을 잘하는 개발자가 좋은 개발자인가요?
1.7. 이 책의 목표
2장. 아는 것 같지만 떠올리기 어려운 기술들
2.1. 글자 개수만큼 배열 만들기
2.1.1. len()으로 개수 세기
2.1.2. 반복문을 이용해 개수만큼 반복하기
2.1.3. 인덱스로 배열에 접근하기
2.1.4. 인덱스로 배열에 값 넣기
2.1.5. 빈 리스트에 인덱스로 접근하기
2.1.6. 빈 리스트에 값 할당하기
2.1.7. append()로 값 초기화하기
2.1.8. None이 100개 들어 있는 리스트 만들기
2.2. 리스트 안의 숫자 개수 세기
2.3. 자리 바꾸기 swap
2.4. 배열의 인덱스 값 바꾸기
2.5. 중복 제거하기
2.5.1. 셋(Set)이란?
2.5.2. List를 Set으로 바꾸기
2.6. 빈(empty) 리스트([])에서 값을 뽑게 될 때
3장. 입문용 알고리즘
3.1. 짝수, 홀수 구하는 함수 만들기
3.1.1. ‘%’ 연산자로 나머지 구하기
3.1.2. 구한 나머지를 이용해 짝수, 홀수 판단하기
3.2. 배수인지 알아보기
3.2.1. 배수(multiple)란?
3.2.2. ‘%’ 연산자로 나머지 구하기
3.2.3. 배수인지 아닌지 True, False로 나오게 하기
3.3. 자릿수들의 합 구하기
3.3.1. ‘/’ 연산자로 몫 구하기
3.3.2. ‘//’ 연산자로 몫 구하기
3.3.3. 10으로 나누어 보기
3.3.4. 한 번 더 몫과 나머지 구하기
3.3.5. 1의 자리만 있는 숫자를 10으로 나누기
3.3.6. 반복문 넣기
3.3.7. quotient(몫) 변수 빼기
3.3.8. remainder(나머지) 변수 빼기
3.4. 최댓값(max), 최솟값(min) 구하기
3.4.1. 핵심 로직
3.4.2. 반복문으로 숫자 하나씩 확인하기
3.4.3. result 변수 선언하기
3.4.4. 최댓값 교체하는 로직 넣기’
3.4.5. 음수가 주어졌을 때 문제점
3.4.6. 변수 result의 초기값 설정
3.4.7. 불필요한 연산 제거
3.4.8. 최댓값이 들어있는 인덱스(Index) 출력하기
3.4.9. Index를 리턴하도록 로직 변경하기
3.4.10. Index에 있는 값들 비교
3.4.11. 개선할 부분
3.4.12. 최솟값 구하기
4장. 무차별 대입법[Brute Force]
4.1. 통장 비밀번호 풀기
4.2. 통장 비밀번호 푸는 알고리즘 개발하기
4.3. 핵심 로직
4.3.1. 0000부터 0009까지(0 0 0 h)
4.3.2. 0000부터 0099까지(0 0 h j)
4.3.3. 0000부터 0999까지(0 h j i)
4.3.4. 0000부터 9999까지(h j i k)
4.3.5. 입력받은 암호와 같으면 return
5장. 스택[Stack]
5.1. 스택(Stack)은 처음부터 있었을까요?
5.1.1. 스택(Stack)을 쓰는 이유
5.1.2. 위 구조의 문제점
5.1.3. 스택(Stack) 연산 사용 방법
5.1.4. 스택(Stack) 구현하기
5.1.5. .pop() 구현하기
5.1.6. 스택이 비었을 때 .pop()의 기능 수정
5.1.7. .empty() 구현하기
5.1.8. .peek() 구현하기
5.2. 괄호 문제 풀기
5.2.1. 괄호 문제 풀기 전에 알아둘 것
5.2.2. 스택(Stack)을 안 쓰고 괄호 풀기
5.2.3. 문자열 빼기
5.2.4. 반복문 적용
5.2.5. 문자열 빼는 로직 붙이기
5.2.6. s의 값 업데이트
5.2.7. breck 적용
5.2.8. 얼마나 반복해야 할까요? - while 적용
5.2.9. .split(‘()’), ‘’.join 적용
5.2.10. 함수로 만들기
5.2.11. 스택(Stack)을 꼭 사용해야 하나요?
5.3. 스택을 이용해 괄호 문제 풀기
5.3.1. 핵심 로직
5.3.2. st.push() 이용하기
5.3.3. Stack1 클래스 파일로 분리하기
5.3.4. .pop()하기
5.3.5. 닫는 괄호 ‘)’부터 나올 때의 처리
5.3.6.. 함수로 만들기
5.3.7. 속도 테스트
5.3.8. 더 빠르게 하는 방법
5.4. {}, []도 있는 경우
5.4.1. 스택을 사용하지 않았을 때 속도 테스트
5.4.2. 정규식을 쓰는 경우 속도가 더 빠를까요?
5.4.3.. 스택으로 구현하기
5.4.4. 스택에서 꺼내는 .pop() 조건
5.4.5. 짝이 맞는 괄호인지 판단하기
6장. 해시[Hash]
6.1. 해시의 탄생
6.2. 해시 구현
6.3. 해시 테이블 구현
6.4. 해시 충돌(Hash Collision)
6.5. 오픈 어드레싱(Open addressing)
6.6. 체이닝(Chaining)
6.7. 완주하지 못한 선수
7장. 소수[Prime]
7.1. 단순하게 구하기
7.1.1. n % I 구하기
7.1.2. 조건문 적용
7.2. 에라토스테네스의 체
7.2.1. 1 지우기
7.2.2. 2의 배수 지우기
7.2.3. 3의 배수 지우기
7.2.4. 4의 배수 지우기
7.2.5. 5의 배수 지우기
7.2.6. 6의 배수 지우기
7.2.7. 7의 배수 지우기
7.3. 에라토스테네스 체 알고리즘 구현하기
7.3.1. 2부터 n까지 숫자가 들어있는 배열 만들기
7.3.2. 배수 반복문 만들기
7.3.3. 뒤에서부터 반복하기
7.3.4. 나누어 떨어지면 지우기
7.3.5. 함수로 만들기
7.3.6. 속도 문제
7.3.7. while문을 이용한 속도 개선
7.4. 숫자를 지우지 않는 에라토스테네스의 체
7.4.1. check 배열 만들기
7.4.2. while문으로 반복하기
7.4.3. ns[i]의 배수를 False로 표시하기
7.4.4. 반복문 시작 숫자를 식(Statement)으로
7.4.5. 체에 친 결과 출력하기
7.4.6. 함수로 만들기, 속도 테스트
7.4.7. 중복으로 처리되는 값들에 대해
8장. 단순 탐색(Simple Search)과 이진 탐색(Binary Search)
8.1. 심플 서치(Simple Search) - 단순 탐색
8.2. 바이너리 서치(Binary Search) - 이진 탐색
8.2.1. 중간값(mid index) 찾기
8.2.2. 중간에 있는 값과 찾고자 하는 값 비교하기
8.2.3. 중간값이 대상값보다 작을 때, 클 때
8.2.4. 찾을 때까지 반복하기
8.2.5. 코드 정리 & 찾는 값이 없을 때
8.2.6. 최종 코드 정리
9장. 정렬[Sort]
9.1. 버블정렬
9.1.1. 대상 배열 선언하고 결과 쓰기
9.1.2. 첫 번째와 두 번째 값 뽑기
9.1.3. 자리 바꾸기
9.1.4. 배열에 적용하기
9.1.5. 4번째 숫자와 비교하기
9.1.6. 변수 대신 인덱스로 변경
9.1.7. for문 적용하기
9.1.8. 배열 크기에 따라 실행 횟수 바뀌게 하기
9.1.9. 중첩 for문 적용하기
9.1.10. 배열에 숫자가 추가되어도 정렬이 잘 되게 하기
9.2. 퀵정렬
9.2.1. 퀵정렬이 빠른 이유
9.2.2. 퀵정렬 구현하기
10장. 재귀[Recursive]
10.1. 1에서 100까지 loop문 안 쓰고 출력하기
10.1.1. 1에서 100까지 loop문으로 반복하기
10.1.2. 파라미터 만들기
10.1.3. 자신을 호출하도록 만들기
10.1.4. 파라미터에 값 넘겨주기
10.1.5. 탈출 조건 넣기
10.1.6. 1씩 커지는 로직 넣기
10.1.7. 정리하기
10.2. 리턴(return) 값이 있는 재귀 - 배열의 모든 값 sum하기
10.2.1. 배열에서 인덱스로 값 뽑아서 더하기
10.2.2. 변수 사용하기
10.2.3. arr.pop() 이용해서 맨 뒤의 값 뽑아내기
10.2.4. pop 한 번 더 사용하기
10.2.5. 재귀 호출하기
10.2.6. 쌓이는 부분 만들기 accu
10.2.7. 탈출 조건 적용하기
10.2.8. accu에 뽑은 값을 더하는 로직
10.2.9. 소스코드 정리하기
10.3. 팩토리얼(Factorial) - 재귀 호출의 과정
10.3.1. 재귀로 팩토리얼 구하기
10.4. 피보나치 수열 만들기
10.4.1. 피보나치 수열의 인덱스
10.4.2. 피보나치 수열 구현하기
10.4.3. 3번째 값을 넣는 부분 반복하기
10.4.4. 연산 반복하기
10.4.5. 한 개의 숫자를 리턴하도록 바꾸기
10.5. 재귀로 피보나치 수열 만들기
10.5.1. return에서 재귀 호출
10.5.2. 탈출 조건 만들기
10.6. 최대공약수 구하기(GCD : Greatest Common Divisor)
10.6.1. gcd(a,a) = a 로직 추가하기
10.6.2. a 〉 b 일 때, gcd(a, b) = gcd(a - b, b) 로직 추가하기
10.6.3. a 〈 b 일 때, gcd(a, b) = gcd(a, b - a) 로직 추가하기
11장. 다이내믹 프로그래밍[Dynamic Programming]
11.1. LCS(Longest Common Subsequence)
11.1.1. LCS 핵심 로직
11.1.2. i = 0일 때 (D와 ABCDCBA 비교)
11.1.3. i = 1일 때 (DC와 ABCDCBA 비교)
11.1.4. i = 2일 때 (DCA와 ABCDCBA 비교)
11.1.5. i = 3일 때 (DCAB와 ABCDCBA 비교)
11.1.6. i = 4일 때 (DCABD와 ABCDCBA 비교)
11.1.7. i = 5일 때 (DCABDC와 ABCDCBA 비교)
11.1.8. 코드로 구현하기
11.1.9 메모(memo) 배열 만들기
11.1.10. 비교할 문자열 하나씩 보기
11.1.11. 비교하면서 메모장에 기록하기
11.2. 최적의 전략(Optimal Strategy) 찾기
11.2.1. 가장 큰 숫자 가지고 오기
11.2.2. 더 좋은 방법 찾아보기
11.2.3. 알고리즘 구현하기
11.2.4. 숫자가 3개 있는 경우
11.2.5. 40을 가지고 오게 된 이유
11.2.6. 2를 가지고 오는 경우
11.2.7. 40을 가지고 오는 경우
11.2.8. 7, 40, 19에서 최적의 선택은?
11.2.9. 2, 7, 40, 19에서 최적의 선택은?
11.2.10. 2, 7, 40, 4, 9에서 최적의 선택은?
11.2.11. dp[1][3] 구하기
11.2.12. 식으로 j = 2, j = 3일 때 결과 구하기
11.2.13. 숫자를 4개 사용하는 경우
11.2.14. 코드로 구현하기
11.2.15. 함수 선언하고 n 구하기
11.2.16. 4 x 4의 표 만들기(dp)
11.2.17. 숫자가 1개만 있는 경우
11.2.18. 숫자가 3개 이상인 경우
11.3. 최소 비용 경로(Min Cost Path)
11.3.1. 최소 비용 어떻게 구할까요?
11.3.2. 단계별로 기록하기
11.3.3. 코드로 최소 비용 알고리즘 구현하기
11.3.4. 첫 번째 칸에 표시하는 로직
11.3.5. 첫 번째 줄에 표시하는 로직
11.3.6. j = 0일 때 처리하기
11.3.7. I 〉 0 and j 〉 0일 때 처리하기
퇴근 후, 손글씨 세트
도서명 : 퇴근 후, 손글씨 세트
저자/출판사 : 김희경,손끝캘리,, 리얼북스
쪽수 : 168쪽
출판일 : 2022-02-10
ISBN : 9791191553291
정가 : 21000
LESSON 01, 손목 풀기
01 손글씨
02 글씨 잘 쓰는 방법
03 글씨 오래 쓰는 방법
04 내 손에 딱 맞는 도구
05 글씨 유형 고르기
LESSON 02, 곡선체 만나보기
01 곡선체란
02 기본획 연습하기
03 ㄱ 에서 ㅎ 까지
04 ㅏ 부터 ㅗ 까지
05 글자 써보기
06 주의할 점
LESSON 03, 직선체 만나보기
01 직선체란
02 기본획 연습하기
03 ㄱ 에서 ㅎ 까지
04 ㅏ 부터 ㅗ 까지
05 글자 써보기
06 주의할 점
LESSON 04, 문장 써보기
01 한 줄 문장 연습하기
02 긴 문장 배치하기
LESSON 05, 글씨에 변화 주기
01 곡선 스타일의 변화
02 직선 스타일의 변화
03 변화 주면서 단어 써보기
04 변화 주면서 문장 써보기
05 도구로 변화 주기
06 다양하게 응용해보기
LESSON 06, 일상에 손글씨 녹이기
01 엽서 만들기
02 드라이플라워, 압화 활용하기
03 카드 만들기
04 원고지, 선 그리기
05 봉투 만들기
06 액자 만들기
07 오브제로 활용하기
08 마카로 꾸며보기
09 무지 아이템 활용하기
10 다양한 종이 활용하기
11 활용하기 좋은 도안
댓글목록0