파이썬 7

배낭 문제

문제 : 배낭에 담을 수 있는 무게의 최댓값(15kg)이 정해져 있다. 각각 짐의 가치와 무게가 (4$, 12kg), (2$, 1kg), (10$, 4kg), (1$, 1kg), (2$, 2kg)인 경우 짐들을 배낭에 넣을 때 가치의 합이 최대가 되도록했을 때의 최대 $는? 짐을 쪼갤 수 있는 경우 > 그리디 알고리즘으로 해결 짐을 쪼갤 수 없는 경우 > 다이나믹 프로그래밍으로 해결 #그리디 알고리즘 배낭 문제 def fractional_knapsack(cargo): capacity = 15 #배낭 수용량 pack = [] total_price = 0 #단가 계산 역순 정렬 for c in cargo: pack.append((c[0] / c[1], c[0], c[1])) pack.sort(key=lamb..

알고리즘/Greedy 2021.07.19

예외처리

try: 예외가 발생할 가능성이 있는 코드 except: 예외가 발생했을 때 실행할 코드 else: 예외가 발생하지 않았을 때 실행할 코드 finally: 무조건 실행할 코드 예외 처리 구문 규칙 try 구문은 단독으로 사용할 수 없으며, 반드시 except 구문 또는 finally 구문과 함께 사용해야 한다. else 구문은 반드시 except 구문 뒤에 사용해야 한다. 가능한 예) try + except 구문 try + except + else 구문 try + except + finally 구문 try + except + else + finally 구문 try + finally 구문 ※ finally 구문이 반복문 또는 함수 내부에 있을 때 - finally 구문은 무조건 실행된다. def test(..

Python 문법 2021.07.14

리스트 list

리스트란? 여러 가지 자료를 저장할 수 있는 자료형 인덱스 값으로 요소에 접근 list = ['문자열', 0, True, ['inner_list']] #리스트 생성 print(list) #['문자열', 0, True, ['inner_list']] >> 리스트 출력 print(list[0], list[1:3]) #문자열 [0, True] >> 인덱스로 접근, 문자열 같이 슬라이싱 가능 list[0] = '변경 문자열' #리스트 첫 번째 요소 변경 print(list) #['변경 문자열', 0, True, ['inner_list']] 대괄호 안에 음수를 넣어 뒤에서부터 요소를 선택가능 리스트 접근 연산자를 이중으로 사용가능 리스트 안에 리스트를 사용가능 list = ['문자열', 0, True, ['inne..

Python 문법 2021.05.22

조건문

비교 연산자 연산결과로 불(True or False) 값을 갖는다. 연산자 설명 == 같다 != 다르다 크다 = 크거나 같다 ※ 파이썬은 문자열에도 비교 연산자를 적용가능 >> 사전 순서로 앞에 있는 것이 작은 값을 가진다 print("일본" == "한국") #False print("일본" < "한국") #True print(1 < 2 < 3) #True 다른 언어와 다르게 간략히 표현가능 논리 연산자 불끼리는 논리 연산자를 사용 연산자 의미 설명 not 아니다 불을 반대로 전환 and 그리고 피연산자 두 개 모두 참일때 True, 그 외 모두 False 출력 or 또는 피연산자 두 개 중에 하나만 참이라도 True를 출력, 두 개 모두 거짓일 때만 False를 출력 if 조건문 if 불 값이 나오는 표..

Python 문법 2021.05.20

변수와 입력

파이썬은 변수에 자료형을 지정하지 않는다. 복합 대입 연산자 연산자 이름 설명 += 숫자 덧셈 후 대입 -= 숫자 뺄셈 후 대입 *= 숫자 곱셈 후 대입 /= 숫자 나눗셈 후 대입 %= 숫자의 나머지를 구한 후 대입 **= 숫자 제곱 후 대입 문자열에도 사용 가능 str1 = "안녕하세요" str2 = "반갑습니다" str1 +='!' #문자열 연결후 대입 str2 *= 2 #문자열 반복 후 대입 print(str1) #안녕하세요! print(str2) #반갑습니다반갑습니다 사용자 입력 : input() input() 함수의 리턴값은 항상 문자열 str1 = input("입력 1 : ") #안녕하세요 입력 str2 = input("입력 2 : ") #123 입력 print(type(str1),str1) ..

Python 문법 2021.05.19

숫자

소수점이 없는 숫자와 소수점이 있는 숫자로 구분 int(integer) : 정수(소수점 x) float(floating point) : 실수(소수점 o) print(type(0)) # print(type(0.0)) # 0은 integer 이지만 0.0은 float인 차이점을 알아야 함 숫자 연산자 사칙 연산자 : +, -, *, / print("1 + 2 =", 1 + 2) #3 print("1 - 2 =", 1 - 2) #-1 print("1 * 2 =", 1 * 2) #2 print("1 / 2 =", 1 / 2) #0.5 정수 나누기 연산자 : // 나눗셈의 몫 부분을 구함 print("5 // 2 =", 5 // 2) #2 나머지 연산자 : % 나눗셈의 나머지를 구함 print("5 % 2 =",..

Python 문법 2021.05.17

문자열 연산자

문자열 연결 연산자 : + "문자열" + "문자열" print("안녕" + "하세요") #안녕하세요 print("1"+"2") #12 print("1"+2) #error "문자열" + 숫자는 자료형이 다르기 때문에 오류 문자열 반복 연산자 : * "문자열" * 숫자 or 숫자 * "문자열" print("안녕하세요"*3) print(3*"안녕하세요") #안녕하세요안녕하세요안녕하세요 문자열 인덱싱 : [] 문자열 내부의 문자 하나를 선택해준다. "문자열"[index] 파이썬의 경우 제로 인덱스 제로 인덱스란? >> 숫자를 0부터 센다. print("안녕하세요"[0]) #안 print("안녕하세요"[1]) #녕 print("안녕하세요"[2]) #하 print("안녕하세요"[3]) #세 print("안녕하세요"..

Python 문법 2021.05.17
728x90