목록이런 저런 공부 (27)
와챠의 우당탕탕 코딩 일기장
Udemy에서 git 강의 들은 거 몇몇개 정리해보랴고 한다~~ 1. 커밋 로그 이력 보기 2. 각 커밋간 차이 알아보기 3. 원하는 커밋으로 돌아가기(이전, 이후) 4. remote 5. git checkout 대신 git switch 6. amend 새로운 내용 덮어쓰기 7. reset commit 기록 되돌리기 8. revert 9. stash 10. cherry pick 11. fork 1. 커밋 로그 이력 보기 git log로 commit_id 앞 4자리 정도 알아낸 뒤 (git reflog: HEAD가 가리켰던 commit 기록 모두 보여줌, 숫자 작을수록 최신 기록) 2. 각 커밋간 차이 알아보기 git diff {commit_id} {commit_id} 3. 원하는 커밋으로 돌아가기(이전,..

털썩 머임...? 개어려워 문제가.................... ....................뭐임? 초보자용 강의가 맞음...? 개어려웠다 근데 알고리즘 문제 자체가 이해하기 어려웠는데 예시 들어가면서 문제 설명 꼼꼼히 해주신 거 좋았고 문제 해설도... 하나하나 알려주셔서 좋았음 다만... 문제가 넘 어려웠을 뿐 그래도 카카오나 삼성 알고리즘 기출 문제들 같이 풀어봐서 재미는 있었다 그동안 기업 기출 문제는 푼 적이 없었어서...ㅇㅇ 왜냐면 기업 문제는 내가 기존에 풀던 백준 문제들보다 더 어려울 줄 알았음 근데 이렇게 풀어보니까 걍 비슷하거나 백준 문제가... 더 어려운 거 같기도 하고 암튼 그렇게 겁먹지 않아도 될 듯!!! 5주차 달리면서 어떤 문제에 어떤 구조 사용해야할지... 이런 ..
숙제 Q1. 농심 라면 공장 라면 공장에서는 하루에 밀가루를 1톤씩 사용합니다. 원래 밀가루를 공급받던 공장의 고장으로 앞으로 k일 이후에야 밀가루를 공급받을 수 있기 때문에 해외 공장에서 밀가루를 수입해야 합니다. 해외 공장에서는 향후 밀가루를 공급할 수 있는 날짜와 수량을 알려주었고, 라면 공장에서는 운송비를 줄이기 위해 최소한의 횟수로 밀가루를 공급받고 싶습니다. 현재 공장에 남아있는 밀가루 수량 stock, 밀가루 공급 일정(dates)과 해당 시점에 공급 가능한 밀가루 수량(supplies), 원래 공장으로부터 공급받을 수 있는 시점 k가 주어질 때, 밀가루가 떨어지지 않고 공장을 운영하기 위해서 최소한 몇 번 해외 공장으로부터 밀가루를 공급받아야 하는지를 반환 하시오. dates[i]에는 i번..

힙 트리 : 뿌리와 가지로 구성되어 거꾸로 세워놓은 나무처럼 보이는 계층형 비선형 자료구조 ㄴ선형구조 : 자료를 구정하있는 데이터들이 순차적으로 나열된 형태(큐, 스택) ㄴ자료의 저장/꺼내기에 초점 ㄴ비선형 구조 : 데이터가 계층적 혹은 망으로 구성됨 ㄴ표면에 초점 트리 용어 정리 더보기 Node: 트리에서 데이터를 저장하는 기본 요소 Root Node: 트리 맨 위에 있는 노드 Level: 최상위 노드를 Level 0으로 하였을 때, 하위 Branch로 연결된 노드의 깊이를 나타냄 Parent Node: 어떤 노드의 상위 레벨에 연결된 노드 Child Node: 어떤 노드의 하위 레벨에 연결된 노드 Leaf Node(Terminal Node): Child Node가 하나도 없는 노드 Sibling: 동..

숙제 Q1. 다음과 같이 숫자로 이루어진 배열이 두 개가 있다. 하나는 상품의 가격을 담은 배열이고, 하나는 쿠폰을 담은 배열이다. 쿠폰의 할인율에 따라 상품의 가격을 할인 받을 수 있다. 이 때, 최대한 할인을 많이 받는다면 얼마를 내야 하는가? 단, 할인쿠폰은 한 제품에 한 번씩만 적용 가능하다. A1. shop_prices = [30000, 2000, 1500000] user_coupons = [20, 40] def get_max_discounted_price(prices, coupons): # 쿠폰 내림차순 정렬 coupons.sort(reverse=True) # 가격 내림차순 정렬 prices.sort(reverse=True) price_index = 0 coupon_index = 0 resul..

정렬 : 데이터를 순서대로 나열하는 방법 1, 버블 정렬 : 1번째 원소, 2번째 원소 비교 2번째 원소, 3번째 원소 비교... ... (N-1)번째 원소, N번째 원소 비교 버블 정렬 구현 input = [4, 6, 2, 9, 1] #버블 정렬 # [4, 6, 2, 9, 1] # 4 2 : 교환 [4, 2, 6, 9, 1] # 6 1 : 교환 [4, 2, 6, 1, 9] # 맨 뒤에 제외 다시 반복 # 4 > 2 : 교환 [2, 4, 6, 1, 9] # 4 1 : 교환 [2, 4, 1, 6, 9] # 맨 뒤에 제외 다시 반복 # 2..

Array와 Linked List Array ㄴ크기가 정해져있어서 한 번 정해지면 바꿀 수 없음 ㄴ즉시 접근 가능 = 상수 시간 내에 접근 가능, O(1) ㄴ원소를 삽입/삭제하려면 모든 원소를 다 옯겨야 함, O(N) ㄴ원소 새로 추가 시 새 공간 할당해야함 Linked List ㄴ크기가 정해지지 않은 데이터 공간 ㄴ연결 고리 따라 원소 접근 가능, O(N) ㄴ원소 삽입/삭제 시 앞 뒤의 포인터만 변경하면 됨, O(1) Array Linked List 특정 원소 조회 O(1) O(N) 원소 삽입/삭제 O(N) O(1) 원소 추가 새 메모리 공간 할당 맨 뒤 노드만 동적으로 추가 정리 데이터에 접근하는 경우가 많을 때 사용 삽입/식제하는 경우 많을 때 사용 https://www.faceprep.in/dat..

알고리즘 : 어떤 문제의 해결을 위해, 입력된 자료를 토대로 하여 원하는 출력을 유도해 해는 규칙의 집합 시간 복잡도 : 입력값과 문제를 해결하는 데 걸리는 시간과의 상관관계 ㄴ 상수는 신경쓰지 않음! 공간 복잡도 : 입력값과 문제를 해결하는 데 걸리는 공간과의 상관관계 공간 복잡도모다는 시간 복잡도를 더 신경써야 함 점근 표기법 : 알고리즘의 성능을 수학적으로 표기하는 방법, 알고리즘의 효율성을 평가하는 방법 ㄴ 빅오(Big-O)표기법 : 최악의 성능이 나올 때 어느 정도의 연산량이 걸리는지? ㄴㄴex) O(N) ㄴ 빅 오메가(Big-Ω) 표기법 : 최선의 성능이 나올 때 어느 정도의 연산량이 걸리는지? ㄴㄴex) Ω(1) 최댓값 찾기 input = [3, 5, 6, 1, 2, 4] def find_m..