목록python (44)
Kim Seon Deok
https://www.acmicpc.net/problem/10972 10972번: 다음 순열 첫째 줄에 입력으로 주어진 순열의 다음에 오는 순열을 출력한다. 만약, 사전순으로 마지막에 오는 순열인 경우에는 -1을 출력한다. www.acmicpc.net 1. 0이 아닌 N수를 입력받음 2. 1~N까지의 수로 이루어진 순열 정렬(오름차순 ~ 내림차순) 3. 입력한 순열 다음 순서의 순열을 출력 N = int(input()) array = list(map(int, input().split())) if array == sorted(array,reverse = True): # 입력된 순열이 맨 마지막 순서인 내림차순인 순열일 때 print("-1") else: n = 0 for i in range(N-1,0,-1..

11399번: ATM (acmicpc.net) 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net N명의 사람이 현금을 인출하는 데 걸리는 시간 = pi 1번 사람이 3분, 2번 사람이 1분, 3번 사람이4분, 4번사람이 3분, 5번 사람이 2분이 걸릴 때 시간의 합은 39분이 걸린다. 따라서 시간의 합을 최소로 만들기 위해선 리스트의 인덱스를 오름차순으로 정렬해야 하다. [1,2,3,3,4]로 정렬했을 때, 1 1+2 1+2+3 1+2+3+3 1+2+3+3+4 Time[0]은 5번, Time[1]은 4번, Time[2]은 3번 ... for문..

10162번: 전자레인지 (acmicpc.net) 10162번: 전자레인지 3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은 www.acmicpc.net A,B,C 3개의 버튼을 눌러 합이 T가 되어야 한다. A,B,C를 누른 횟수의 합은 항상 최소가 되어야 한다. >> 몫과 나머지 이용 T가 A,B,C로 나누어 떨어지지 않을 경우 -1을 출력

1026번: 보물 (acmicpc.net) 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 리스트 A,B의 길이를 N으로 설정 S는 A와 B 각각의 원소를 곱한 후 합한 값 S가 최소가 되도록 해야하는데 A는 재배열을 하되, B는 재배열 하지 않는다. >> A는 오름차순으로 정렬 & B는 내림차순으로 정렬 파이썬의 내장 함수는 모듈이나 패키지를 가져오지 않고 바로 사용할 수 있는 함수이다. *중요한 함수 정리 1. map(함수, 시퀀스형 자료) 리스트와 같은 시퀀스형 자료의 모든 원소에 동일한 연산/ ..

객체지향 프로그래밍 언어 객체를 우선으로 생각해서 프로그래밍 객체와 관련된 코드를 분리할 수 있게 하는 것 객체 여러가지 속성을 가질 수 있는 대상 객체지향 프로그래밍 객체를 기반으로 프로그램을 만드는 프로그래밍 언어 객체지향 프로그래밍의 목표 : 객체를 효율적으로 만들고 사용하는 것 추상화(abstraction) 프로그램에서 필요한 요소만을 사용해서 객체를 표현하는 것 >> 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는 것 클래스 객체를 조금 더 효율적으로 생성하기 위해서 만들어진 구문 class 클래스 이름: 클래스 내용 생성자 클래스 이름과 같은 함수 인스턴스 이름(변수이름) = 클래스 이름() self : 자기자신을 나타내는 딕셔너리 class 클래스 이름: def..