파이썬

이번 포스팅은 정렬 알고리즘 중 하나인 병합 정렬(Merge Sort)에 대한 내용을 정리하였습니다. 병합 정렬의 이해와 코드 예시, 퀵 정렬과의 차이점을 하나씩 알아보고 이해하였습니다. | 병합 정렬(Merge Sort) 이해 - 병합 정렬은 배열을 분할하고 분할된 부분 배열을 정렬한 다음 병합하여 배열을 정렬하는 재귀 정렬 알고리즘 중 하나입니다. - 언뜻 보면 퀵 정렬과 비슷해 보이지만 차이점이 있으므로 병합 정렬의 구동 방식부터 알아보겠습니다. | 병합 정렬의 구동 방식 1. 분할(Divide) : 주어진 배열을 반으로 나눔 2. 반복 : 배열의 크기가 1 이하가 될 때까지 분할 반복 3. 정복(Conquer) : 반으로 나뉜 배열을 정렬 4. 병합(Merge) : 정렬된 배열들을 병합하여 최종적..
이번 포스팅은 파이썬을 공부하면서 알게 된 디스크립터(Descriptor)에 대해 정리하였습니다. 파이썬은 객체 지향 프로그래밍을 지원하는 언어로 객체의 속성(attribute)를 제어하는 다양한 방법을 제공합니다. 객체의 속성을 제어하는 다양한 방법 중 디스크립터(Descriptor)에 대해 알아보겠습니다. | 디스크립터(Descriptor) 개념 - Descriptor는 클래스의 속성을 더욱 잘 다룰 수 있게 해주는 파이썬의 클래스 제어 방법 중 하나입니다. - 객체의 속성(attribute)에서 추가 로직을 적용하거나 속성 값 변환, 유효성 검사 등을 수행할 때 유용하게 사용하며 일반적으로는 'property'나 데코레이터를 사용할 수 있지만 디스크립터는 재사용성이 높은 방법을 제공합니다. | 디스..
이번 포스팅은 파이썬의 lambda 표현식을 공부한 것을 정리했습니다. 람다 형식과 람다 표현식의 여러 가지 함수에 대해 알아보겠습니다. 1. Lambda(람다)란? - 파이썬에서 람다 표현식을 사용하여 이름이 없는 함수를 만들 수 있으며 - 코드의 간결함, 메모리의 절약을 할 수 있습니다. - def를 통해 함수를 생성하는 방법은 리터럴 표기법의 함수 생성 방법입니다. 기본 표현) lambda 인자 : 표현식 예시) 기존의 함수 생성은 def로 했지만 lambda를 사용하면 간결하게 표현할 수 있습니다. def add(x,y): return print(x+y) add(10, 20) - 기존의 def를 이용한 함수 표현 방법 (lambda x,y: print(x+y))(10,20) - 람다 표현식을 이용..
이번 포스팅은 파이썬을 사용하면서 함수에서 *와 **를 이해하기 위해 작성하는 포스팅입니다. 1. *args 이해 - args는 arguments의 줄임말입니다. 함수 인자로 *args를 대표적으로 쓰지만 다르게 써도 아무 상관이 없습니다. - 결론적으로 *args는 함수에서 여러 개의 매개변수를 쓰기 위해 사용하는 것입니다. def location(kor ,*args): print(kor, args) location("한국", "부산") location("한국", "서울", "부산", "대전", "대구") 예를 들어 위치를 출력하는 함수를 만들었을때 *args를 사용하여 출력하도록 하였습니다. 결과를 보시면 *args 로 받은 매개변수는 튜플로서 출력하는 것을 볼 수 있었고 여러 개의 인자를 주어도 출..
이 포스팅은 점프 투 파이썬을 보고 정리하여 작성한 것입니다. 혹시나 수정해야 할 부분이나 질문이 있으면 댓글로 알려주세요! 파이썬에서 클래스란 함수나 자료형처럼 꼭 필요한 요소는 아니지만 프로그램 작성에 있어 보다 쉽게 만들 수 있게 해주는 것이다. 클래스(Class)와 객체(Object) 점프 투 파이썬에서는 클래스와 객체를 과자 틀과 과자 틀로 만든 과자로 비유하고 있다. 클래스는 도면이고 객체는 도면(클래스)으로 만든 것을 뜻한다. 객체는 객체마다 고유한 성격을 가진다는 특징이 있다. 무슨 말인가 하면, 동일한 클래스로 만든 객체들은 서로 영향을 전혀 주지 않는다는 것이다. 객체와 인스턴스의 차이 a = Calc() - 관계 위주로 설명 할 때 사용하는 것 똑같지만 어떤 것이 주체인가에 따라 다르..
이번 포스팅은 www.acmicpc.net/problem/1712에서 푼 것을 토대로 작성했습니다. 기본 수학 1의 첫 번째 문제인 손익분기점입니다. 문제 문제 해석 첫째 줄에 A, B, C가 빈칸으로 입력 A : 고정 비용 B : 가변 비용 C : 노트북 가격 손익분기점 nC > A+nB 손익분기점이 존재하면 n 출력, 손익분기점이 존재하지 않으면 -1 출력 Python 코드 a,b,c = map(int, input().split()) if b >=c : print(-1) else : print(int((a/(c-b))+1)) Python 코드 풀이 if b >=c : print(-1) else : print(int((a/(c-b))+1)) nc-nb > a n(c-b) > a n > a/(c-b) 이..
우준세
'파이썬' 태그의 글 목록