본문 바로가기

파이썬18

과일 장수 [프로그래머스 lv1] 문제. 과일 장수가 사과 상자를 포장하고 있습니다. 사과는 상태에 따라 1점부터 k점까지의 점수로 분류하며, k점이 최상품의 사과이고 1점이 최하품의 사과입니다. 사과 한 상자의 가격은 다음과 같이 결정됩니다. 한 상자에 사과를 m개씩 담아 포장합니다. 상자에 담긴 사과 중 가장 낮은 점수가 p (1 ≤ p ≤ k)점인 경우, 사과 한 상자의 가격은 p * m 입니다. 과일 장수가 가능한 많은 사과를 팔았을 때, 얻을 수 있는 최대 이익을 계산하고자 합니다.(사과는 상자 단위로만 판매하며, 남는 사과는 버립니다) 예를 들어, k = 3, m = 4, 사과 7개의 점수가 [1, 2, 3, 1, 2, 3, 1]이라면, 다음과 같이 [2, 3, 2, 3]으로 구성된 사과 상자 1개를 만.. 2024. 4. 4.
스택과 큐 /백준 1874 1. 스택 스택(Stack)은 데이터를 저장하고 검색하는 데 사용되는 추상 데이터 구조 중 하나로, 데이터의 삽입과 삭제가 한쪽 끝에서만 이루어지는 선형 자료 구조입니다. 스택은 후입선출(Last-In-First-Out, LIFO) 원칙을 따릅니다. 이것은 스택에 삽입한 가장 최근의 요소가 먼저 제거됨을 의미합니다. 스택은 다양한 컴퓨터 과학 및 소프트웨어 개발 분야에서 유용하게 활용됩니다. 예를 들어, 함수 호출 스택(call stack)은 함수 호출 및 반환 순서를 관리하는 데 사용됩니다. 재귀 함수 호출 시에도 스택을 사용하여 각 함수 호출을 추적하고 반환 순서를 관리합니다. 스택은 간단하면서 효율적인 자료 구조로, 데이터를 일시적으로 저장하고 추적하는 데 유용합니다. 많은 프로그래밍 언어 및 자료.. 2023. 11. 2.
파이썬 예외처리 1. 예외 예외(Exception)는 프로그램 실행 중 발생할 수 있는 예상치 못한 문제 또는 오류 상황을 의미합니다. 예외가 발생하면 프로그램은 중단되기 때문에 이를 적절하게 처리하여 중단을 방지하거나 오류에 대한 정보를 사용자에게 제공해야 합니다. print(10/3) print(5/0) # ZeroDivisionError: division by zero print(4/2) ValueError 잘못된 값을 함수나 연산에 제공할 때 발생합니다. 예) 숫자가 아닌 문자열을 int() 함수로 변환하려고 할 때 발생. TypeError 올바르지 않은 유형의 객체를 연산에 사용하려 할 때 발생합니다. 예) 문자열과 숫자를 함께 더하려고 할 때 발생. ZeroDivisionError 숫자를 0으로 나누려고 할 .. 2023. 9. 17.
파이썬 스페셜 메소드 1. 스페셜 메소드 파이썬의 스페셜 메서드 (또는 매직 메서드라고도 불림)는 더블 언더스코어(__)로 시작하고 끝나는 메서드 이름을 갖습니다. 이 메서드들은 특정 구문이나 내장 함수를 사용할 때 파이썬 인터프리터에 의해 자동으로 호출됩니다. 예를 들어, 객체에 대해 + 연산자를 사용하면 해당 객체의 __add__ 메서드가 호출됩니다. 클래스에서 사용했던 __init__메소드도 객체를 초기화해주는 스페셜 메소드 입니다. __str__ : 객체를 문자열로 표현하는 메서드. print() 함수나 str() 함수를 사용할 때 호출 book = Book('미친듯이 재밌는 파이썬') print(book) print(str(book)) # str메소드를 오버라이드 하기 class Book: def __init__(s.. 2023. 9. 17.
파일 입출력 라이브러리2 1.pickle pickle 모듈은 파이썬 객체 구조를 직렬화하고 역직렬화하는 프로세스를 제공합니다. 다른 말로하면, 파이썬 객체(리스트, 딕셔너리, 클래스 인스턴스 등)를 바이트 스트림으로 변환하고, 그 바이트 스트림을 다시 파이썬 객체로 복원할 수 있습니다. pickle 모듈은 Python 객체의 직렬화와 보존에 유용하며, 데이터를 효과적으로 저장하고 공유하는 데 사용됩니다. 그러나 보안과 버전 호환성 등의 주의사항을 염두에 두고 사용해야 합니다. import pickle data = ['apple', 'banana', 'orange'] # 직렬화, 바이너리로 저장을 하기때문에 'wb'사용 with open('list.pkl', 'wb') as f: pickle.dump(data, f) # 역직렬화 .. 2023. 9. 14.
파일 입출력 라이브러리 1. 파일 읽기와 쓰기 import fileinput import os import glob 파이썬의 ⩥ os 모듈은 운영 체제와 상호 작용하는 많은 함수와 유틸리티를 제공합니다. 이 모듈을 사용하면 파일, 디렉터리 또는 운영 체제에 관한 작업을 수행할 수 있습니다. ⩥ glob 모듈은 파일과 폴더 이름을 찾을 때 사용하는 파이썬의 도구입니다. glob는 특정 패턴에 일치하는 파일이나 폴더 이름을 쉽게 찾아줍니다. ⩥ fileinput 모듈은 파이썬에서 여러 입력 스트림을 동시에 순회하는 데 유용합니다. 이 모듈의 주요 용도는 명령줄에서 명시된 여러 파일을 동시에 읽는 스크립트를 작성하는 것입니다. # 현재 경로 확인 os.getcwd() # 디렉토리 안에 파일(디렉토리)을 확인하고 리스트로 반환 os... 2023. 9. 14.