목록Python/알고리즘(Python) (28)
일기 대신 코드 슬쩍
곱하기 혹은 더하기s = '02984' s = list(s) max = 0 for i in range(len(s)): if s[i] != '0' and s[i] != '1': if max != 0: max *= int(s[i]) else: max += int(s[i]) else: max += int(s[i]) print(max) 모험가 길드Fear = [2,3,1,2,2] N = len(Fear) Fear = sorted(Fear) Fearless = [] group = 0 for i in Fear: Fearless.append(i) if len(Fearless) >= i: group += 1 Fearless = [] print(group) Uploaded by Notion2Tistory v1.1.0
그리디 알고리즘그리디 알고리즘(탐욕법): 현재 상황에서 지금 당장 좋은 것만 고르는 방법일반적으로 최소한의 아이디어를 떠올릴 수 있는 능력을 요구함정당성 분석이 중요! 1이 될 때까지N = 25 K = 5 count = 0 while N != 1: if N % K == 0: # K로 나뉘는 경우가 count를 더 줄일 수 있음 N //= K count += 1 else: N -= 1 count += 1 print(count) Uploaded by Notion2Tistory v1.1.0
실전에서 유용한 표준 라이브러리내장 함수: 기본 입출력 함수부터 정렬 함수까지 기본적인 함수 제공파이썬 프로그램을 작성할 때 없어서는 안 되는 필수적인 기능 포함itertools: 파이썬에서 반복되는 형태의 데이터를 처리하기 위한 유용한 기능 제공순열과 조합 라이브러리 코딩 테스트에서 자주 사용!!!heapq: 힙(Heap) 자료구조를 제공일반적으로 우선순위 큐 기능을 구현하기 위해 사용됨bisect: 이진 탐색(Binary search) 기능 제공collections: 덱(deque), 카운터(Counter)등의 유용한 자료구조 포함math: 필수적인 수학적 기능 제공팩토리얼, 제곱근 최대공약수(GCD), 삼각함수 관련 함수부터 파이와 같은 상수 포함 순열과 조합 Countercollections 라이..
함수특정한 작업을 하나의 단위로 묶어놓은 것불필요한 소스코드의 반복을 줄일 수 있음 함수의 종류내장 함수: 파이썬이 기본적으로 제공하는 함수사용자 정의 함수: 개발자가 직접 정의하여 사용할 수 있는 함수 함수 정의하기매개변수: 함수 내부에서 사용할 변수반환 값: 함수에서 처리 된 결과를 반환 파라미터 지정하기파라미터의 변수 직접 지정 가능 global 키워드global 키워드로 변수를 지정하면 해당 함수에서는 지역 변수를 만들지 않고, 함수 바깥에 선언된 변수를 바로 참조하게 됨 람다 표현식 Uploaded by Notion2Tistory v1.1.0
반복문특정한 소스코드를 반복적으로 실행하고자 할 때 사용하는 문법while문과 for문이 있음 반복문에서의 무한 루프무한 루프란 끊임없이 반복되는 반복 구문을 의미 반복문: for 문for문의 구조는 다음과 같은데, 특정한 변수를 이용하여 ‘in’ 뒤에 오는 데이터(리스트,튜플 등)에 포함되어 있는 원소를 첫 번째 인덱스부터 차례대로 하나씩 방문for문에서 연속적인 값을 차례대로 순회할 때는 range()를 주로 사용이때 range(시작 값, 끝 값+1) 형태로 사용인자를 하나만 넣으면 자동으로 시작 값은 0 파이썬의 continue 키워드반복문에서 남은 코드의 실행을 건너뛰고, 다음 반복을 진행하고자 할 때 continue 사용1부터 9까지의 홀수의 합 구하기 파이썬의 break 키워드반복문을 즉시 탈..
조건문프로그램의 흐름을 제어하는 문법조건문을 이용해 조건에 따라서 프로그램의 로직을 작성 들여쓰기Tab vs 4개의 공백 문자 비교 연산자특정한 두 값을 비교할 때 이용 논리 연산자논리 값 사이의 연산을 수행할 때 사용 파이썬의 기타 연산자다수의 데이터를 담는 자료형을 위해 in 연산자와 not in 연산자가 제공리스트, 튜플, 문자열, 딕셔너리 모두에서 사용 가능 pass 키워드아무것도 처리하고 싶지 않을 때 pass 키워드 사용 조건문의 간소화실행될 소스코드가 한 줄일 경우, 굳이 줄 바꿈을 하지 않고도 간략하게 표현가능조건부 표현식은 if ~ else 문을 한 줄에 작성할 수 있도록 해줌 Uploaded by Notion2Tistory v1.1.0
기본 입출력모든 프로그램은 적절한 입출력 양식을 가지고 있음첫 번째 단계는 데이터를 입력 받거나 생성하는 것 자주 사용되는 표준 입력 방법input() 함수는 한 줄의 문자열을 입력 받는 함수map() 함수는 리스츠의 모든 원소에 각각 특정한 함수를 적용할 때 하용Ex) 공백을 기준으로 구분된 데이터를 입력 받을 때는 다음과 같이 사용list(map(int, input().split()))Ex) 공백을 기준으로 구분된 데이터의 개수가 많지 않다면, 단순히 다음과 같이 사용a,b,c = map(int, input().split()) 빠르게 입력 받기사용자로부터 입력을 최대한 빠르게 받아야 하는 경우sys라이브러리에 정의되어있는 sys.stdin.readline()메서드를 이용단, 입력 후 엔터가 줄 바꿈 ..
파이썬 문법 - 사전 자료형사전 자료형사전 자료형은 키와 값의 쌍을 데이터로 가지는 자료형리스트와 튜플이 값을 순차적으로 저장하는 것과는 대비됨키와 값의 쌍을 데이터로 가지며, 원하는 ‘변경 불가능한 자료형’을 키로 사용할 수 있음해시 테이블을 이용하므로 데이터의 조회 및 수정에 있어서 O(1)의 시간에 처리 가능 사전 자료형 관련 메서드키와 값을 별도로 뽑아내기 위한 메서드 지원키 데이터만 뽑아서 리스트로 이용할 때는 keys()값 데이터만을 뽑아서 리스트로 이용할 때는 values() 집합 자료형집합의 특징중복 허용하지 않음순서가 없음리스트 혹은 문자열을 이용해서 초기화 할 수 있음 set() 이용혹은 중괄호({})안에 각 원소를 콤마를 기준으로 구분하여 삽입함으로써 초기화 할 수 있음데이터의 조회 ..