
코드잇 강의를 듣고 정리한 알고리즘 문제들 입니다. Greedy Algorithm - 당장 눈 앞에 보이는 최적의 선택을 하는 방식 - 최적의 답이 필요 없거나, 다른 알고리즘이 너무 느릴때 사용 - 최적 부분 구조가 있고, 탐욕적 선택 속성이 있다면 그리디 알고리즘이 최적의 솔루션을 보장함 장점 - 간단하고 빠르다 단점 - 최적의 답이 보장되지 않는다 1. 최소 동전으로 거슬러 주기 조건 - 함수명 : min_coin_count - 매개변수명 : value(거슬러 줘야하는 총약), coin_list(동전리스트) - 최소 동전 갯수 반환 풀이 def min_coin_count(value, coin_list): # 누적 동전 개수 count = 0 # coin_list의 값들을 큰 순서대로 본다 for c..

코드잇 강의를 듣고 정리한 알고리즘 문제들 입니다. Dynamic Programming - 한 번 계산한 결과를 재활용하는 방식 - 최적 부분 구조가 있고, 중복되는 부분 문제들이 있다면 이 방식으로 해결 방식 1. Memoization - 한 번 계산한 결과를 저장해 놓았다가 사용하는 방식 - 하향식 접근 - 재귀 사용 방식 2. Tabulation - 테이블(표)을 채워나가는 식으로 사용하는 방식 -상향식 접근 - 반복문 사용 1. 피보나치 (Memoization) 조건 - 함수명 : fib_memo - 매개변수명 : n(구하고 싶은 수), cache(저장 값) - n번째 피보나치 반환 풀이 def fib_memo(n, cache): # base case if n < 3: return 1 # 이미 n..

합병 정렬 : 두 개의 리스트를 하나의 정렬된 리스트로 합병하는 정렬 알고리즘 퀵 정렬 : 기준점보다 작은 것은 왼쪽에, 큰 것은 오른쪽에 정렬하는 정렬 알고리즘 1. 합병 정렬(Merge Sort) 구현 ''' # 시간복잡도 : O(NlogN) ''' def merge(list1, list2): i = 0 j = 0 # 정렬된 항목들을 담을 리스트 merged_list = [] # list1과 list2를 돌면서 merged_list에 항목 정렬 while i list2[j]: merged_list.append(list2[j]) j += 1 else: merged_list.append(list1[i]) i += 1 # ..

코드잇 강의를 듣고 정리한 알고리즘 문제들 입니다. 분할 정복(Divide and Conquer) : 그대로 해결할 수 없는 문제를 작은 문제로 분할하여 문제를 해결하는 알고리즘 분할 정복 3단계 - 1. Divide(분할) - 2. Conquer(정복 == 풀기) - 3. Combine(합치기) 1 . 1부터 n까지의 합 구하기 조건 -함수명 : consecutive_sum -매개변수명 : start, end (end > start) - start부터 end까지의 합 리턴 풀이 def consecutive_sum(start, end): # base case if end == start: return start # 부분 문제를 반으로 나눠주기 위해서 문제의 정중앙을 정의한다 (Divide) mid = (..

1️⃣ About Issue Issue 더 알아보기 - 참고사이트(Jira) Assign이란? - 이슈의 상태마다 담당자를 지정하는 것 이슈의 상태 1.Open(To-do) - 이슈가 생긴 상태 2. In - progress - 개발자가 개선 작업을 진행하는 상태 3. Resolved - 문제가 해결된 상태 - 개발자가 작업 완료한 상태 4. Closed - 테스트 결과 버그가 잘 해결된 상태 5. Reopen - 추가적인 문제 발생 상태 - 다시 Open으로 돌아감 2️⃣ About Program 1. 버그 관리 툴 (이슈 트레킹 툴) - Jira - Trello - Asana - Confluence 2. 메신저 - Slack - Skype - Jandi 3. 디자인 협업 툴 - Sketch 4. 개발..

1. 일반 모드(Normal mode) 왼쪽으로 이동 h 오른쪽으로 이동 l 아래쪽으로 이동 j 위쪽으로 이동 k 5칸(왼쪽, 오른쪽, 아래쪽, 위쪽)으로 이동 5(h/l/j/k) 커서가 있는 줄의 첫 번째 칸으로 이동 0 커서가 있는 줄의 마지막 칸으로 이동 $ 파일의 첫 번째 줄로 이동 gg 파일의 마지막 줄로 이동 G 한 글자 삭제 x 5글자 삭제 5x 한 줄 삭제 dd 5줄 삭제 5dd 작업 취소 u 텍스트 붙여넣기 p(커서 다음 칸 혹은 다음 줄) 텍스트 붙여넣기 P(커서 이전 칸 혹은 이전 줄) 2. 입력 모드(Insert mode) 커서 위치부터 바로 입력 모드 시작 i 커서 위치를 바로 다음 칸으로 옮기고 입력 모드 시작 a 커서 위치를 그 줄의 첫 번째 칸으로 옮기고 입력 모드 시작 I ..

Vim이란? CLI (Command-Line Interface) 환경에서 사용하는 텍스트 에디터 Vim에 대해서 더 알아보기 Vim 공식 사용 설명서 Vim을 게임처럼 재미있게 배울 수 있는 사이트 Vim 사용법 - 터미널에서 vim 치기 - 처음 실행하면 일반 모드 임! # 빈 문서로 처음 시작 시 vim # vim으로 문서 열 시 vim {문서이름} ex) vim test Vim의 4가지 모드와 주요 작업 1. 일반 모드 - Vim 시작 시 기본 모드 - 다른 모드에서 일반 모드로 돌아올려면 esc 누르면 됨 - 주요 작업 : 커서 이동, 텍스트 붙여넣기, 텍스트 삭제, 작업 취소 2. 입력 모드 - 일반 모드에서 i, a, o, I, A, O 중 하나를 누를 경우 입력 모드 실행 됨 - 실행 시, ..

Tools date 👉🏻 날짜 및 시간 표시 또는 설정 date cal 👉🏻 달력 출력 cal 더보기 cal [-3hjy] [-A number] [-B number] [[month] year] cal 3 2030 (인자 두개 사용) 👉🏻 2030년 3월의 달력을 보여줌 cal -y (옵션 사용) 👉🏻 올해 1월 ~ 12월 달력을 보여줌 cal -A 3 (옵션, 인자 사용) 👉🏻After의 약자로, 현재 달력과 이후 달력 3개를 더 보여 줌 cal -B 2 (옵션, 인자 사용) 👉🏻Before의 약자로, 현재달려과 이전 달력 2개를 더 보여줌 cal - j (옵션 사용) 👉🏻 1월 1일 부터 며칠이 지났는지 달력으로 보여줌 man {궁금한 커맨드} 👉🏻 커맨드에 대한 매뉴얼을 보여줌 man cal Dire..
- 백준
- 프로그래밍언어
- level1
- 정렬
- SWiFT
- KAKAO
- 유닉스커맨드
- 프로그래머스문제
- GIT
- 월간 코드 챌린지 시즌1
- 파이썬문법
- 컴퓨터개론
- 파이썬
- 문법
- 코드잇
- 월간 코드 챌린지 시즌2
- 프로그래머스코딩테스트
- 설치
- x만큼간격이있는n개의숫자
- 알고리즘문제
- 피보나치
- 이진탐색
- 코딩테스트
- 알고리즘
- level2
- 프로그래머스 프로그래머스문제
- 조합
- Summer/Winter Coding(~2018)
- 재귀함수
- 프로그래머스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- Total
- Today
- Yesterday