본문 바로가기

파이썬141

[Python] 백준 1715 - 카드 정렬하기 🧑‍💻 [Python] 백준 1715 - 카드 정렬하기 Gold 4 - 그리디, 힙 heappop을 2번씩 해서, 나온 숫자들을 더해준다 더해준 숫자들을 다시 heap에 넣어준다 이것을 heap에 숫자가 2개 미만일 때까지 반복해서 해준다 문제풀이 힙에서 2개의 숫자를 pop으로 뽑아와서, 더해주는 것이다 제일 낮은 숫자끼리 더하면, 최소 숫자를 만들 수 있다 코드 import heapq N = int(input()) heap = [] for n in range(N): heapq.heappush(heap, int(input())) answer = 0 while True: if len(heap) 2023. 1. 18.
[Python] 프로그래머스 - 소수 구하기 🧑‍💻 [Python] 프로그래머스 - 소수 구하기 Level 2 처음에는 그냥 일반적인 식으로 소수 구하기를 풀었다 시간 초과 n까지의 숫자를 순회하면서, 각 숫자가 소수인지 아닌지를 찾음 에라토스테네스의 체를 사용하면 더 빠르게 소수를 구할 수 있다 2부터 시작을 해서, 2의 배수인 숫자들, 3의 배수인 숫자들, 5의 배수인 숫자들 등을 빼주는 것이다 문제풀이 코드 def solution(n): answer = 0 flag = True if n == 1: answer = 0 else: for num in range(2, n + 1): cnt = 0 for i in range(1, (num // 2) + 1): if num % i == 0: cnt += 1 if cnt > 1: flag = False .. 2023. 1. 18.
Udemy : Python 인스턴스, 상태, 고차함수 Udemy : Python 인스턴스, 상태, 고차함수 객체 상태 및 인스턴스 # object class # timmy Turtle() # tommy Turtle() timmy = Turtle() tommy = Turtle() 위에 timmy와 tommy는 Turtle()이라는 클래스의 블루프린트를 가지고 있는 객체이다 timmy와 tommy는 같은 블루 프린트를 가지고 있지만, 둘 다 각각 독립적인 인스턴스 이다 각각 Turtle() 이라는 객체의 예시다 즉 각각의 인스턴스는 다른 속성 그리고 다른 일을 할 수도 있다 그리고 이렇게 다른 속성, 다른 일을 할 수 있는 것을 state 즉 상태라고 한다 고차 함수 & 이벤트 리스너 import turtle as t from turtle import Turt.. 2023. 1. 18.
[Python] 백준 2696 - 중앙값 구하기 🧑‍💻 [Python] 백준 2696 - 중앙값 구하기 Gold 3 - heapq left와 right 힙 그리고 중간 값을 가지고 문제를 푸는 것이다 left는 최대 힙을 구하는 것이고, right은 최소힙을 구하는 것이다 middle은 제일 최근에 구한 중간 값이다 즉 수열의 원소가 middle보다 작으면 left로 들어가야 하고, 크면 right로 들어가야 한다 코드 import heapq import math T = int(input()) for _ in range(T): N = int(input()) nums = [] for _ in range(int(math.ceil(N / 10))): nums += list(map(int, input().split())) left, right = [], [].. 2023. 1. 17.
Python 터틀 & 그래픽 사용자 인터페이스 (GUI) Udemy : Python 터틀 & 그래픽 사용자 인터페이스 (GUI) turtle 파이썬, 문서를 보면서, 거북이를 조작하는 것 GUI Graphical User Interface GUI가 만들기 전에는 TUI (Text User Interface)가 있었다. TUI는 모두 글로 되어 있어서, 글로 명령을 하는 것이다 GUI 같은 경우, 시각적으로 더 발전한 것이고, 마우스 같이, 스크린을 조작할 수 있다 모듈 Import , 패키지 설지 , 별칭 사용 import # keyword (import) Module name (turtle) import turtle # 객체 모듈 클래스 # turtle turtle. Turtle() turtle = turtle.Turtle() from --- import #.. 2023. 1. 17.
🧑‍💻 [Python] 백준 14235 - 크리스마스 선물 🧑‍💻 [Python] 백준 14235 - 크리스마스 선물 Silver 3 - Heap 입력된 값을 순회한다 입력된 값이 0이 아니면 선물을 충전하는 거점 0은 아이들의 집이다 문제풀이 입력 값들을 튜플로 받아서 리스트에 넣는다 그리고 for문을 순회하며 0인지 아닌지 구별한다 0이 아니면 선물을 충전하는 거점 즉 heap에 최대힙으로 선물에 대한 숫자를 넣는다 0이면, heap에 선물이 들어 있는지 없는지를 구별한다 heap에 숫자가 있으면, 제일 앞에 있는 숫자, 즉 제일 큰 숫자를 출력한다 없으면 해당 아이에게 줄 선물이 없다는 것. 즉 -1을 출력한다 코드 import heapq N = int(input()) stops = [] for _ in range(N): stops.append(tuple(.. 2023. 1. 16.
Udemy : Python 퀴즈 프로젝트와 OOP의 장점 Udemy : Python 퀴즈 프로젝트와 OOP의 장점 파이썬 클래스를 만드는 방법 클래스는 객체를 만들기 위한 블루프린트 (Blue Print)이다 class User: pass user_1 = User() # 클래스를 불러올 때에는 클래스 이름 뒤에 ()를 붙인다 class User: - class를 넣어주고, 뒤에 클래스의 이름을 쓰면된다 PascalCase - 클래스의 이름은 각 단어의 첫 번째 글자는 대문자로 써야 한다 (예) MyCar, UserInfo) pass - 클래스에 아무 정보를 넣고 싶지 않을 때 속성, 클래스 생성자, __init__() 함수 사용하기 class User: def __init__(self, user_id, username): # initialise attribut.. 2023. 1. 16.
Udemy : Python 객체 지향 프로그래밍 (OOP) Udemy : Python 객체 지향 프로그래밍 (OOP) 객체 지향 프로그래밍 (Object Oriented Programming) 현실 세계의 객체들 (Objects)을 프로그래밍으로 모델링 하는 것이다 객체들은 무언가를 가지고 있다 (attributes, 또는 속성) / 객체와 관련 있는 데이터 객체들은 무언가를 할 수 있다 (methods, 메소드) 즉 객체에는 data와 function이 존재한다 예) 음식점 음식점은 혼자서 모든 것을 하는 것보다, 요리사, 웨이터, 청소하는 사람을 고용하는 것이 편하다 요리사, 웨이터, 청소하는 사람들 모두 각각 속성과 메소드가 필요하다 웨이터의 속성 (Attributes) 접시를 가지고 있는지? : is_holding_plate = True 맡고 있는 테이블.. 2023. 1. 15.
[Python] 백준 13904 - 과제 🧑‍💻 [Python] 백준 13904 - 과제 Gold 5 - 정렬 과제 마감일과, 과제 점수가 주어진다 하루에 한 과제를 끝낼 수 있다 즉 과제 점수 기준으로 내림차순으로 해서, 최대한 많은 점수를 얻으려고 한다 문제풀이 과제 관련 정보를 입력 받는다 그리고 일수가 있는 리스트를 만든다 이 리스트는, 어느 날에 과제를 완료했는지 확인하는 리스트다 즉 False가 있고, True로 그 날 과제를 완료했다고 표시한다 그리고 과제들을 과제 점수가 높은 과제 기준으로 내림차순으로 정렬을 한다 for문을 사용하여 과제들을 순회한다 여기서 과제를 끝내야 하는 날이 제일 기준 index가 된다 만약에 과제를 끝내야 하는 날이 False일 경우, True로 바꿔주고 answer에 과제 점수를 누적시켜준다 과제를 끝.. 2023. 1. 15.