분류 전체보기
[파이썬] 최대공약수와 최소공배수
1. 공약수 두 개 이상 자연수의 공통된 약수를 의미한다. 12의 약수 1, 2, 3, 4, 6, 12 15의 약수 1, 3 5, 15 공약수 1, 3 2. 최대공약수 공약수 중 가장 큰 약수를 의미한다. 각 자연수의 약수를 구해 가장 큰 공약수를 찾거나, 두 수를 공통으로 나눌 수 있는 소수로 나눈 뒤 몫 부분의 곱(a*b*c*...*n-1*n) 을 구해 최대공약수를 찾을 수 있다. 3 ) 12 15 4 5 - 12의 최대 공약수는 3이다. 3. 파이썬에서의 최대공약수 예제 import math def gcd(n) : lst_n = set() for i in range(1, n+1) : if n % i == 0 : lst_n.add(i) return lst_n a, b = map(int, input()..
[파이썬] 문자열 포맷팅 Formatting
문자열 포맷팅 (Formatting) 정수, 실수 등 여러 형(Type)의 변수를 사용해 문자열을 편하게 만들거나 출력(Print) 하고 문자열을 꾸미기 위해 문자열 형식화(Formatting)를 사용한다. 파이썬에서는 3가지 방법으로 Formatting 할 수 있다. 1. % 기호를 사용한 방법 형식 지정 문자 영문 자료형 %s string 문자열 %d digit 정수 %f float 실수 %o octal 8진수 %x hexadecimal 16진수 %% percent % 기호를 사용한 Formating 방법은 '%d' % 변수명 형태로 사용한다. 따옴표 ('') 안에 넣고 싶은 문자열과 %형식 지정 문자(위의 표 참고)를 사용해 넣을 변수들의 위치를 지정해 주고 % 변수명에 사용할 변수명을 넣어준다. ..
이코테 6강 리뷰 (기본 입출력)
기본 입출력 모든 프로그램은 약속된 입출력 양식을 가진다. 프로그램 동작의 첫 번째 단계는 데이터를 입력 받거나 생성하는 것 예) 학생의 성적 데이터가 주어지고 이를 내림차순으로 정렬한 결과를 출력하는 프로그램 자주 사용되는 표준 입력 방법 - input() : 한 줄의 문자열을 입력 받는 함수 - map() : 리스트의 모든 원소에 각각 특정한 함수를 적용할 때 사용 n = input() # input은 문자열 입력받은 대로 출력함. 그것을 map()이나 split() 등으로 정수형이나 실수형 등 필요한 원소로 변환하는 것임 n = int(input()) # input 받은 값을 정수형으로 n 변수에 삽입 # 예시) 공백을 기준으로 구분된 데이터를 입력 받을 때 data = list(map(int, i..
이코테 5강 리뷰 (사전, 집합 자료형)
사전 자료형 - 키(Key)와 값(Value)의 쌍을 데이터로 가지는 자료형 - 변경 불가능한(Immutble) 자료형을 키로 사용할 수 있음 - 해시 테이블(Hash Table)을 이용하므로 데이터의 조회 및 수정에 있어서 O(1)의 시간에 처리할 수 있는 장점이 있음 초기화 : dict()이나 {}으로 초기화 data = dict() data['사과'] = 'apple' data['바나나'] = 'banana' data['코코넛'] = 'coconut' # 또는 아래 방법으로도 초기화 가능 data = { '사과': 'apple', '바나나': 'banana', '코코넛': 'coconut' } print(data) # {'사과': 'apple', '바나나': 'banana', '코코넛': 'coco..
이코테 4강 리뷰 (문자열, 튜플 자료형)
문자열 자료형 - 문자열 변수를 초기화 할 때는 큰따옴표(")나 작은따옴표(')를 이용한다. - 문자열 안에 큰 따옴표나 작은 따옴표가 포함되어야 하는 경우 : 1. 전체 문자열을 " " 로 구성한 경우 : 작은 따옴표를 이스케이프 문자형태(백슬래시[\]) 없이 사용 가능, 큰 따옴표는 백슬래시(\)붙여서 가능 예) a = " '공자'가 말했다. \"문구\" " 2. 전체 문자열을 ' ' 로 구성한 경우 : 큰 따옴표를 이스케이프 문자형태(백슬래시[\]) 없이 사용 가능, 작은 따옴표는 백슬래시(\)붙여서 가능 예) a = ' \'맹자\'가 말했다. "문구" ' 문자열 연산 - 문자열 변수에 뎃셈(+)을 이용하면 문자열이 더해져 연결(Concatenate)된다. - 문자열 변수를 양의 정수와 곱하면 문자..
이코테 3강 리뷰 (리스트 자료형)
리스트 - 여러개의 데이터를 연속적으로 담아 처리하기 위해 사용하는 자료형 - C나 자바의 배열 기능 및 연결리스트와 유사한 기능을 지원한다. - 배열 혹은 테이블이라고 부르기도 한다. 리스트의 초기화 - 대괄호[] 안에 원소를 넣어 초기화하고 쉼표(,)로 원소를 구분 - 비어있는 리스트를 선언할 때는 list() 또는 [] 를 이용한다. - 리스트의 인덱스는 0부터 시작하고 리스트의 원소에 접근할 때는 인덱스의 값을 대괄호 안에 넣는다. a = [1, 2, 3, 4, 5] print(a[3]) # 4번째 인 4가 출력된다. a[4] = 5 # 리스트인 변수 a의 4번째 원소를 5로 변경 print(a) # [1, 2, 3, 5, 5] 가 출력된다. # 크기가 n이고 모든 값이 0인 리스트 초기화 n =..
이코테 2강 리뷰 (수 자료형과 연산)
* 모든 프로그래밍은 데이터를 다루는 행위이며 자료형에 대한 이해는 프로그래밍의 길에 있어서 첫걸음 임 파이썬의 자료형 - 정수형(Integer) - 실수형(Real Number) - 복소수형 - 문자열 - 리스트 - 튜플 - 사전(딕셔너리) 정수형(Integer) - 양, 음, 0 a = 1000 # 1000이라는 상수 값을 a라는 변수에 대입 파이썬에서는 큰 수 -9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807 의 범위도 C나 JAVA처럼 long type로 처리 하지 않고 int type으로 처리한다. 실수형(Real Number) - 소수점 아래 데이터를 포함하는 수 자료형 a = 157.93 a = -1837.2 a = 5. # 소수부가 0일 때..
이코테 1강 리뷰 (알고리즘 성능 평가)
* 알고리즘 성능 평가 복잡도 : 알고리즘의 성능을 나타내는 척도 시간 복잡도 : 특정한 크기의 입력에 대하여 알고리즘의 수행 시간 분석 공간 복잡도 : 특정한 크기의 입력에 대하여 알고리즘의 메모리 사용량 분석 - 복잡도가 낮을 수록 좋은 알고리즘임 - 복잡도는 빅오 표기법 사용 * 빅오 표기법 - 가장 빠르게 증하가는 항 만을 고려 - 함수의 상한만을 나타냄 - 연산 횟수가 3N^3 + 5N^2 + 1,000,000 일 경우 가장 큰 항인 O(N^3)으로 표현함. 계수는 생략 - 데이터의 크기가 N이라고 했을 때, 다음과 같이 복잡도를 나타낼 수 있음 성능 복잡도 명칭 예제 좋음 O(1) 상수 시간 O(LogN) 로그 시간 O(N) 선형 시간 1중 for 문 O(NlogN) 로그 선형 시간 O(N^2..