cake 앱 영어 회화 공부 11일차 A : But I was always watching over you. Just because you didn't see me doesn't mean that I wasn't there. When you were trouble, I tried to help. B : I heard you. A : I know I'm not the father you always wanted. But if you ever need me, I'll be there for you. In your thoughts, and in your dreams. I'll stand by you, Percy. A : 하지만 나는 항상 너를 지켜보고 있었단다. 내가 보이지 않았다고 해서 네 곁에 없었다는 건..
[파이썬] 클래스, self, __init__, __str__ 목차 클래스 데이터의 처리, 정의 등을 하나로 정리해 둔 모형과 같음. 붕어빵 틀과 같다. 효과 모든 변수를 어떠한 범위에 소속시킴. 재사용 간편함. 코드 수정 최소화. 함수 실행중에 함수 자신을 다시 호출하는 일이 가능. 사용법 클래스에 정의된 데이터와 메서드를 사용하기 위해서는 인스턴스를 생성하여 클래스를 실체화해야 한다. 객체란 붕어빵 틀에 반죽을 넣어서 만들어진 붕어빵과 같다. (이때 메서드란, 클래스 내에 기재된 함수를 의미한다.) 각 객체는 하나의 클래스에 의해 독립적으로 존재할 수 있으므로, 하나의 클래스에 대한 여러 가지 인스턴스들이 각각 다른 데이터를 가지도록 할 수도 있다. class Status(): def __init__..
[파이썬] 백준 11399 : ATM https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 실버 3 그리디 알고리즘, 정렬 접근 3 1 4 3 2를 2 5 1 4 3 순서로 접근한다는 것은 오름차순으로 접근하는 것과 같다. 코드 풀이(124ms) import sys input = sys.stdin.readline N = int(input()) nlst = sorted(list(map(int, input().split()))) S = 0 for i in range(N): for j..
[파이썬] 백준 11047 : 동전 0 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 실버 3 그리디 알고리즘 접근 실버 3이라 하기에는 쉬운 문제였다. 아무래도 그리디 알고리즘 문제가 전반적으로 구현 난이도가 쉬운 편이라서 그런 듯. 반복문을 거꾸로 돌리는 방법으로 동전의 단위를 큰 순서대로 순회할 수 있다. 해당 동전이 만들려는 K원보다 클경우는 다음 동전 단위로 차례를 넘기..
[파이썬] 백준 2217 : 로프 https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 실버 4 수학, 그리디 알고리즘, 정렬 접근 최대 중량이 각각 10, 15인 로프가 들 수 있는 물체의 최대 중량은 10x2 = 20이다. 15가 최대인 밧줄은 15를 들 수 있지만 10이 최대인 밧줄은 10까지 밖에 들 수 없다. 따라서 10 밧줄을 기준으로 생각한다면 10x2 = 20이 들 수 있는 최대 중량이며, 15 밧줄을 기준으로 생각한다면 15..
[파이썬] 백준 1026 : 보물 https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 실버 4 (이게 왜 실버4까지나?) 수학, 그리디 알고리즘, 정렬 접근 곱하기를 할때 가장 작은 값이 나오려면 작은 수는 큰 수와 서로 곱하도록 하면 된다. 그냥 단순하게 A는 오름차순, B는 내림차순해서 서로 곱하면 좋겠지만 B는 재배열 하지 말랬으니 B의 최댓값을 계속해서 갱신하는 방법으로 문제를 풀었다. 코드 풀이 import sys input = s..