백준 알고리즘 - 1931 - 회의실 배정
2021. 10. 7. 10:19
⏰ 코딩테스트/그리디
풀이 그리디 : 문제 푸는 단계에서 가장 좋은 것을 선택하는 것 보통의 그리디는 대부분 정렬과 동반되어 나온다. 회의가 끝나는 시각을 기준으로 정렬을 해야 최대한 회의를 많이 할 수 있다. 빨리 끝나는 것이 중요하기 때문이다. 2 3 1 4 3 5 → 회의 진행 가능 4 6 5 7 → 회의 진행 가능 그리고 회의의 끝나는 시간과 다음 회의의 시작 시간을 비교해 보는 것이다. 코드 1 n = int(input()) meeting = [] for i in range(n): first, second = map(int,input().split()) meeting.append((first, second)) # 튜플 형태로 저장 meeting.sort(key = lambda x: (x[1], x[0])) # x[1..
백준 알고리즘 - 11047 - 동전 0
2021. 2. 9. 11:35
⏰ 코딩테스트/백준 알고리즘
문제 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 출력 첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다. 접근법 입력 N, K 받기 N줄 동전 입력 받기 (coin) 동전 개수의 최솟값 구하기 4200 / 1000 = 4 4200 - 1000 × 4 = 200 200 /..
Python - class, object
2021. 1. 20. 17:15
📌 Python
Class 와 Object 인간이 구체화 되면 객체(어머니, 아버지)가 된다. class 를 구체화 하면 object가 된다. class : 추상적인것 object : 구체적인것 파이썬에서 존재하는 타입은 class로 정의된다. list, tuple 등 class는 type을 정의하는 것일 뿐이다. bob = Person() # bob 객체 생성하기 a = list() print(type(bob), type(a)) >> 우리가 리스트를 만들 때는 사실 클래스를 사용하여 객체를 만든 것이었다!!
백준 알고리즘 - 2630 - 색종이 만들기
2021. 1. 11. 15:04
⏰ 코딩테스트/백준 알고리즘
문제 아래 과 같이 여러개의 정사각형칸들로 이루어진 정사각형 모양의 종이가 주어져 있고, 각 정사각형들은 하얀색으로 칠해져 있거나 파란색으로 칠해져 있다. 주어진 종이를 일정한 규칙에 따라 잘라서 다양한 크기를 가진 정사각형 모양의 하얀색 또는 파란색 색종이를 만들려고 한다. 전체 종이의 크기가 N×N(N=2k, k는 1 이상 7 이하의 자연수) 이라면 종이를 자르는 규칙은 다음과 같다. 전체 종이가 모두 같은 색으로 칠해져 있지 않으면 가로와 세로로 중간 부분을 잘라서 의 I, II, III, IV와 같이 똑같은 크기의 네 개의 N/2 × N/2색종이로 나눈다. 나누어진 종이 I, II, III, IV 각각에 대해서도 앞에서와 마찬가지로 모두 같은 색으로 칠해져 있지 않으면 같은 방법으로 똑같은 크기의..