A ship in harbor is safe, but that is not what ships are built for.

분류 전체보기 154

내일배움캠프 AI, 15일차 TIL - 2022.09.20

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.20. 15일차 - TIL 1. 알고리즘, 자료구조 강의 병합정렬(Merge sort) : 배열의 앞부분과 뒷부분의 두 그룹으로 나누어 각각 정렬한 후 병합하는 작업 반복 - merge 부분 : 정렬된 array1과 array2의 원소를 하나씩 비교해 작은 것을 새로운 배열에 저장한다. 어느 한 배열의 원소가 없어질 때까지 반복하다 나머지 이어붙인다. # 정렬된 array1과 array2의 원소를 하나씩 비교해 작은 것을 새로운 배열에 저장 -> 어느 한 배열의 원소가 없을 때까지 반복하다 나머지 이어붙임 def merge(array1, array2): array_result = [] array1_index = 0 array2_in..

내일배움캠프 AI, 14일차 TIL - 2022.09.19

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.19. 14일차 - TIL 1. 알고리즘, 자료구조 강의 Array : 크기가 정해진 연속된 데이터 공간, 데이터 접근이 빠르며(O(1)) 데이터 추가 시 모든 공간이 다 찼다면 새로운 공간을 할당하고, 중간에 요소 삽입/삭제가 어렵다(O(n)) -> 모든 요소를 이동시켜야 한다 Linked List: 크기가 정해지지 않은 데이터 공간, 삽입과 삭제가 빈번한 문제에 사용하기 좋으며 모든 공간이 다 찼어도 맨 뒤의 노드만 동적으로 추가 가능하다. 특정 데이터 조회에 O(n)의 시간이 필요하다. 파이썬의 list는 내부적으로 동적 배열을 사용해 배열, 링크드 리스트 모두로 사용 가능 linked list 구현 # 노드 클래스 정의 cl..

내일배움캠프 AI - 3주차 WIL

기간 : 2022.09.13 ~ 2022.09.16(4일간 진행) 1. Git 정리 이번주는 저번주에 배운 깃 사용법을 직접 적용해보는 시간을 가졌다. 내 레퍼지토리를 만들어 여태까지 파이썬 과제를 업로드했다. 이전에도 몇번 깃헙을 사용한 적이 있지만 사용할 때마다 방법이 기억이 안 나 고민이었는데 이번에 깃을 정리하며 사용에 익숙해지는 기회가 되었다. 앞으로도 꾸준히 깃헙 관리하기!! 2. 파이썬 특강 이번주를 마지막으로 파이썬 강의가 끝이났다. 마지막이 클래스, 객체지향 강의였는데 이 부분은 내가 항상 어려워하는 부분이라 개념을 다시 공부할 수 있어 좋았다. 하지만 상속, 클래스 관련 실습이 부족한거 같아 앞으로 꾸준히 반복하는게 좋을 것 같다. 3. 백준 문제 풀기 수학 문제 관련 알고리즘이 시작되..

내일배움캠프 AI, 13일차 TIL - 2022.09.16

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.16. 13일차 - TIL 1. 자료구조, 알고리즘 강의 최댓값 찾기 : [3, 5, 6, 1, 2, 4] 의 배열에서 가장 큰 수를 반환 # 1. 각 숫자마다 모든 다른 숫자와 비교해 최댓값 확인 def find_max_num(array): for num in array: # array의 길이(n)만큼의 연산 for cp_num in array: # array의 길이(n)만큼의 연산 if num < cp_num: # 비교 연산 1번 break # for num in array에서 break가 한번도 실행되지 않으면 num을 반환 else: return num # 시간 복잡도 : n * n = n^2 print("정답 = 6 / 현..

내일배움캠프 AI - 12일차 TIL, 2022.09.15

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.15. 12일차 - TIL 1. 파이썬 특강 인자에 기본값 지정 # 함수를 선언할 때 인자에 기본값을 지정해줄 수 있습니다. EXPRESSION = { 0: lambda x, y: x + y , 1: lambda x, y: x - y , 2: lambda x, y: x * y , 3: lambda x, y: x / y } def calc(num1, num2, option=None): # 인자로 option이 들어오지 않는 경우 기본값 할당 """ option - 0: 더하기 - 1: 빼기 - 2: 곱하기 - 3: 나누기 """ return EXPRESSION[option](num1, num2) if option in EXPRESSI..

내일배움캠프 AI - 11일차 TIL, 2022.09.14

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.14. 11일차 - TIL 1. 파이썬 특강 try - exception 을 통한 에러처리 number = "num" try: # try 구문 안에서 에러 발생할 경우 except로 넘어감 number = int(number) # 문자열을 정수형 변환해 에러 발생 except: # 에러가 발생했을 때 처리 print(f"{number}은(는) 숫자가 아닙니다.") ################################################################# number = input() try: int(number) 10 / number except ValueError: # int로 변환하는 과정에서 에러가 ..

내일배움캠프 AI - 10일차 TIL, 2022.09.13

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.13. 10일차 - TIL 1. Git 특강 vi/vim 편집기 - a와 i를 입력해 INSERT로 내용 삽입 가능 - 입력 종료 후 ESC + :wq로 저장하고, vi/vim 창을 닫음 버전 만들기(☆★별표 다섯개) 로컬 저장소 만들기 $ git init 스테이지에 추가하기 $ git add 현재 작업 디렉터리의 변경 사항을 모두 스테이지에 추가하기 $ git add . 커밋하기(메세지 헤더만 작성) $ git commit -m "커밋 메세지 헤더" 자세한 커밋 메세지로 커밋하기 $ git commit 스테이지에 추가와 커밋 동시에 하기 $ git commit -am "커밋 메세지 헤더" 버전 조회하기 현재 커밋들의 목록 조회하기..

내일배움캠프 AI - 2주차 WIL

기간 : 2022.09.05 ~ 2022.09.08(4일간 진행) 1. 파이썬 공부 이번주는 파이썬 공부를 계속 이어서 갔다. 처음에는 그렇게 부담스럽지 않았는데 백준 + 튜터님 숙제까지 하려니 시간적으로 버거운 느낌이 강했다. 특히 이번주에 내주신 숫자 야구 게임은 학부생 때 과제같았다.... 그리고 팀원들과 코드를 공유하는 시간이 생각보다 유익했다.(내가 코드를 다소 복잡하게 짜서 단순화하기에 아주 좋았다!!) 2. Git 공부 이번주부터 드디어 앞으로도 자주 보게될 git을 공부하게 되었다. git은 항상 쓸 때마다 새로워서 버거운 감이 있다. 이번 기회에 잘 익혀둬서 앞으로 git을 내 공책처럼 잘 썼으면 좋겠다.(여태까지 git은 약간 나한테 빛좋은 개살구 같은 느낌이었다... 개념이 너무 어렵..

내일배움캠프 AI - 9일차 TIL, 2022.09.08

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.08. 9일차 - TIL 1. 협업을 위한 Git 활용 기초 필수 프로그램 설치 - Github 가입하기 - Git 설치하기 - Sourcetree 설치하기(preferences에 github username과 github email address 입력) - Sourcetree 설정하기 : Githun에서 받은 token을 sourcetree 인증에서 입력해 Github 계정 연동 Git : 프로젝트의 버전 관리를 위한 도구 - 히스토리를 통한 버전 관리 - 작업 단위 나누기 : 히스토리를 통해 에러 발생 부분 파악 - 협업 용이 : 나누어 작업하고 하나로 합치기 용이 Github : Git 원격 저장소 + Git 으로 가능한 커뮤..

내일배움캠프 AI - 8일차 TIL, 2022.09.07

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.07. 8일차 - TIL 1. 파이썬 특강 randrange(n, m) : n 이상 m 미만의 난수 생성 randint(n, m) : n 이상 m 이하의 난수 생성 datetime.now() : 현재 날짜 및 시간 출력 from datetime imort datetime, timedelta ''' %y : 두 자리 연도 / 20, 21, 22 %Y : 네 자리 연도 / 2020, 2021, 2022 %m : 두 자리 월 / 01, 02 ... 11 ,12 %d : 두 자리 일 / 01, 02 ... 30, 31 %I : 12시간제 시간 / 01, 02 ... 12 %H : 24시간제의 시간 / 00, 01 ... 23 %M : 두 ..