[Python - lambda 활용하기] 프로그래머스 가장 큰 수
·
ProgrammingLanguages/Python
# 람다 함수로 맨 앞글자 기준으로 sorting -큰게 맨 앞으로 오게 # 만약 앞글자가 같다면, 두번째 글자 기준에서 큰거 , 두번째 글자가 같다면, def solution(numbers): l = sorted(list(map(str,numbers)),reverse =True,key=lambda x: x * 3) a = "".join(l) if a[0] =='0': return '0' else: return a(1) map(str, numbers)원소 개수: n각 숫자를 문자열로 변환: O(1)전체: O(n)(2) key=lambda x: x * 3sorted는 각 원소마다 key를 한 번만 계산문자열 길이 최대: 상수 (≤ 4자리 → x*3도 상수..
[Python/Java] 객체지향, 캡슐화(Encapsulation)
·
ProgrammingLanguages
객체 지향 프로그래밍의 중요한 개념인 캡슐화! 캡슐화란? 클래스의 메소드와 변수를 외부에서 함부로 조작하지 못하도록 감싸고 제한하는 기능입니다.(java 같은 경우, private 이라는 키워드를 통해 클래스 내부의 속성에 대해 외부에서 접근하는 것을 제한할 수 있지만 파이썬은 없음.)그래서 캡슐화로 클래스 내부의 멤버 값을 보호합니다. 내부(Data & Methods)알약 안에는 클래스의 속성(데이터)과 기능(메소드)이 함께 묶여 보호되고 있음을 보여줌.외부(Controlled Access)외부에서는 알약 내부의 복잡한 구성 요소를 직접 건드리는 것이 아니라, 정해진 인터페이스를 통해서만 소통할 수 있다는 점을 강조. 1. Python 클래스 내부에서 사용하는 보호할 필요가 있는 멥버 변수를 "_..
[Python] with 문의 핵심, 컨텍스트 매니저(Context Manager)
·
ProgrammingLanguages
파이썬에서 리소스를 다룰 때 필수적인 with 문 뒤에는 '컨텍스트 매니저'라는 강력한 메커니즘이 존재한다.단순히 파일을 닫는 기능을 넘어, 백엔드 개발의 안정성을 책임지는 이 개념을 정리해보자!1. 컨텍스트 매니저란?컨텍스트 매니저는 원하는 시점에 정확하게 리소스를 설정(Setup)하고 해제(Teardown)할 수 있도록 돕는 객체파이썬의 with 문과 함께 사용되어 코드의 실행 문맥(Context)을 제어함.2. 컨텍스트 매니저의 두 가지 구현 방식① 클래스 기반 (Magic Methods)클래스 내부에 __enter__와 __exit__ 메서드를 정의하는 방식__enter__: 리소스를 확보하거나 초기화 로직을 수행__exit__: 리소스를 반납하거나 예외를 처리class MyDatabase: ..