그리디 알고리즘(탐욕법)은 현재 상황에서 지금 당장 좋은 것만 고르는 방법.
로컬 최적해(locally optimym solution)를 구할 수 있으나 글로벌 최적해는 보장하지 않음.
그리디 알고리즘 활용 대상 문제.
연습장과 필기도구 활용
모든 테스트 케이스를 통과하도록
IDE 과의존 주의.
잘못 접근한 풀이에 대한 대처
최적화보다 문제해결능력이 중요.
// > 소수점 아래는 다 버림.
리스트 자료형
리스트는 대괄호 안에 원소를 넣어 초기화.
인덱싱
리스트 출력에 -가 들어가면 뒤에서 연산함.
슬라이싱
구간을 정해서 출력 가능. 2:5
과 같이 사용.
주석은 앞에 #달아주면 됨.
반복문. for i in range(a, b)
a에서 b 전까지 출력.
append()
새로운 값 삽입.
sort()
리스트의 순서 정렬.
sort(reverse = True)
순서 오름차순으로 정렬.
a.reverse()
a 리스트 원소 뒤집기.
a.insert(a,b) 시간복잡도를 높이므로 안 쓰는게 좋음
원소 삽입
a.count(x)
값이 x인 데이터 개수
a. remove(x)
값이 x인 데이터 삭제
문자열 자료형
큰 따옴표와 작은 따옴표를 구분하지 않는다.
문자열 연산
문자열 변수에 + 를 사용하면 연결됨.
*
를 사용하면 반복 가능
인덱싱도 가능
튜플 자료형.
리스트랑 비슷하다. 공간 복잡도가 좀 덜하다.
() 사용. 안에 있는 값을 수정할 수 없다.
수정하지 않아도 되는, 혹은 수정되어선 안되는 값(key)을 튜플로 다룰 수 있다.
딕셔너리 자료형
키와 값을 쌍으로 데이터로 가지는 자료형.
집합자료형
중복 허용 안함. 순서가 없다.
합집합 print(a | b)
교집합 print(a & b)
차집합 print(a - b)
표준입력방법
input() 키보드로 값 입력 가능.
split() 공백을 기준으로 입력.