코딩일지/TIL: Today I Learned 84

20220919 TIL

오늘의 한 일 자료구조, 알고리즘 강의 - 1~3주차 백준 알고리즘 문제 풀이 및 정리 - 재귀, 브루트 포스 자료구조, 알고리즘 강의 1~3주차 ** 시간 복잡도, 공간 복잡도 ** 어레이와 링크드 리스트, 클래스를 이용한 링크드 리스트 구현 ** 재귀 함수 ** 정렬 (버블 정렬, 선택 정렬, 삽입 정렬, 병합 정렬) ** 스택, 큐 ** 해쉬 자료구조 알고리즘 카테고리 정리 예정. 이걸 먼저 듣고 백준문제를 풀었어야 했는데! 재귀 함수에 대해 이해하기 쉽게 설명해주어 영양가 높은 강의였다. 백준 문제풀이를 하면서 신경쓰였던 시간초과 부분에 관해서도 시간 복잡도에 대한 설명을 통해 어떤 식으로 시간을 줄여나가야 할지 이해하는데 큰 도움이 됐다. 클래스의 이용 방법도 특강만 들었을때는 어떻게 쓰일지 도..

20220916 TIL

오늘의 한 일 python 강의 복습 백준 알고리즘 문제 풀이 - 재귀 python 강의 및 과제물 복습 백준 알고리즘 문제 풀이 - 재귀 ** 재귀함수 파이썬에서 사용시 최대깊이 설정 import sys sys.setrecursionlimit(10**6) # 재귀함수 최대깊이 설정 ** input 대신 sys.stdin.leadline() 쓰는 이유 https://growingarchive.tistory.com/157 하노이의 탑 알고리즘 www.youtube.com/watch?v=FYCGV6F1NuY https://han-py.tistory.com/224 [python] 재귀함수(recursive function) python의 꽃. DFS의 필수 개념인 재귀 함수에 대해 알아보자. 왜 재귀 함수를 ..

20220915 TIL

오늘의 한 일 python 강의 6일차 파이썬 과제 백준 알고리즘 문제 풀이 - 기본 수학2 python 강의 6일차 python 심화 함수 심화 인자에 기본값 지정해주기 # 함수를 선언할 때 인자에 기본값을 지정해줄 수 있습니다. 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..

20220914 TIL

오늘의 한 일 python 강의 5일차 클래스 활용하기 과제 백준 알고리즘 문제 풀이 - 기본 수학1 python 강의 5일차 try / exception을 활용한 에러 처리 python에서는 try / except 문법을 사용해 에러가 발생했을 때 처리를 해줄수 있습니다. number = "num" try: # try 구문 안에서 에러가 발생할 경우 except로 넘어감 number = int(number) # "num"을 숫자로 바꾸는 과정에서 에러 발생 except: # 에러가 발생했을 때 처리 print(f"{number}은(는) 숫자가 아닙니다.") 에러 종류에 따라 다른 로직 처리 number = input() try: int(number) 10 / number except ValueError..

20220913 TIL

오늘의 한 일 python 강의 4일차 클래스 활용하기 과제 백준 알고리즘 문제 풀이 - 정리 및 복습 python 강의 4일차 Python 심화 class에 대한 이해 class란? 클래스를 선언하는것은 과자 틀을 만드는 것이고, 선언된 과자틀(class)로 과자(instance)를 만든다고 생각하면 됩니다. 선언 후 바로 사용되는 함수와 다르게 클래스는 인스턴스를 생성하여 사용하게 됩니다. class 내부에 선언되는 메소드는 기본적으로 self라는 인자를 가지고 있습니다. self는 클래스 내에서 전역 변수와 같이 사용됩니다. # 용어 정리 - 인스턴스(instance) : class를 사용해 생성된 객체 - 메소드(method) : 메소드란 클래스 내에 선언된 함수이며, 클래스 함수라고도 한다. -..

20220908 TIL

오늘의 한 일 Git 활용 기초 강의 1~3주차 git 프로젝트 둘러보기 명령어로 깃 다루기 특강 Git 활용 기초 강의 1~3주차까지 https://github.com/didjsrne/TIL GitHub - didjsrne/TIL: 오늘의 배운 것 오늘의 배운 것. Contribute to didjsrne/TIL development by creating an account on GitHub. github.com 배운 글 정리는 실습과 함께 깃허브에 저장 깃허브 자체는 이런 저런 프로그램들 쓰느라 많이 찾아보긴 했는데, 실제로 계정을 만들고 내가 직접 프로젝트를 진행하기 위해 쓰는것은 처음이라 배우면서 굉장히 신선했다. 커밋 수정 연습중에 실제로 일어날 법한 병합충돌 오류도 일어나서 해결하면서 경험치도..

20220907 TIL

오늘의 한 일 python 강의 3일차 과제 숫자야구 만들기 python 강의 반복문 for, while for문 list, tuple, set 자료형의 요소들로 반복문을 사용할 수 있습니다. numbers = [1, 2, 3, 4] for number in numbers: print(number) # result print """ 1 2 3 4 """ members = ("lee", "kim", "park") for member in members: print(member) # result print """ lee kim park """ enumerate()를 사용해 반복되는 요소가 몇번째인지 확인할 수 있습니다. members = ["lee", "park", "kim"] for i, member in..

20220906 TIL

오늘의 한 일 python 강의 2일차 과제 계산기 만들기 백준 알고리즘 문제 풀이 python 강의 2일차 python 활용 자료형 활용하기 사칙연산 파이썬에서는 integer와 float 자료형에서 활용할 수 있는 다양한 종류의 사칙연산을 지원하고 있습니다. x + y 더하기 x - y 빼기 x * y 곱하기 x ** y 제곱(x의 y제곱) x / y 나누기, int와 int를 나누더라도 연산 결과는 항상 float이 나온다. 5 / 2 → 2.5, 4 / 2 → 2.0 x // y 나머지 없는 나누기, 어떤 값을 나누더라도 항상 정수로 떨어진다. 5 // 2 -> 2, 4 // 2 -> 2, 4.0 // 2.0 -> 2.0 x % y 나머지를 구하는 연산 8 % 3 -> 2, 5.0 % 2.0 ->..

20220905 TIL

오늘의 한 일 python 강의 1일차 효율적인 코딩 공부법 특강 백준 알고리즘 문제 풀이 - 정리 및 복습 python 강의 1일차 파이썬 언어의 특징 컴파일 언어인 C, Java와는 다르게 Python은 인터프리터 언어이다. 컴파일러 - 어떤 프로그래밍 언어로 쓰여진 소스 파일을 다른 프로그래밍 언어로 바꾸어주는 번역기 인터프리터 언어의 특성 상 코드를 컴파일 하는 단계가 없기 때문에 코드가 실행되기까지의 속도는 빠르지만, 런타임에서 코드가 동작하는 시간은 비교적 느린 편이다. 동적 타입 언어로 C, Java와 다르게 변수를 할당할 때 자료형을 지정해 주지 않아도 됩니다. 문법이 쉽고 간결합니다. 때문에 생산성이 좋으며 코드의 가독성이 좋습니다. 코드 컨벤션 코드 컨벤션은 팀 프로젝트등의 협업시 내가..

20220902 TIL

오늘의 한 일 파이썬 문법 기초강의 끝까지 백준 알고리즘 문제 풀이 - 반복문, 1차원 배열 튜플, 집합 튜플 (tuple) 튜플은 리스트와 비슷하지만 불변형인 자료형. a = (1,2,3) print(a[0]) ### 아래와 같은 작업은 불가 a = (1,2,3) a[0] = 99 딕셔너리 대신 리스트와 튜플로 딕셔너리 '비슷하게' 만들어 사용해야 할 때 많이 쓰인다 a_dict = [('bob','24'),('john','29'),('smith','30')] 집합 (set) 말 그대로 '집합'을 구현하는 방법 ※ 중복이 제거!!! a = [1,2,3,4,5,3,4,2,1,2,4,2,3,1,4,1,5,1] a_set = set(a) print(a_set) 교집합, 합집합, 차집합 구하기 a = ['사과..