반응형

파이썬 문법 11

[파이썬 문법] 문자열 보충(슬라이싱, 문자열 함수)

문자열 연산(더하기, 곱하기) '+'를 통해 문자열끼리 연결할 수 있으며 '문자열 * 정수'를 통해 해당 문자열을 반복할 수 있다. 이는 [파이썬 문법] 그 외 다양한 자료형(문자열, 튜플, 사전, 집합)에서 다루었다. 문자열 슬라이싱 문자열도 리스트와 같이 인덱싱과 슬라이싱을 할 수 있다. a[start:end:step] start: 슬라이싱을 시작할 인덱스 end: 슬라이싱을 끝낼 인덱스(end 포함 x) step: 몇 개씩 끊어서 가져올지와 슬라이싱 방향을 결정 start, end, step 모두 양수와 음수를 가질 수 있다. ※ start 속성 활용 a = ['a', 'b', 'c', 'd', 'e'] print(a[1:]) # 1번 인덱스부터 끝까지 print(a[-3:]) # -3번 인덱스부터..

[파이썬 문법] 입출력 보충(2차원 배열, sys.stdin.readline)

input() 대신에 sys.stdin.readline()을 사용하는 이유? [파이썬 문법] - [파이썬 문법] 입출력 에서 언급한대로 입력해야할 데이터가 매우 많은 경우 입력을 받는 것만으로도 시간 초과를 받을 수 있다. 예를 들어 반복문으로 여러줄을 입력 받아야하는 문제의 경우 input()을 사용하면 시간 초과를 받을 수 있다. ※ 한 줄의 문자열 입력받기 import sys data = sys.stdin.readline().rstrip() print(data) rstrip()는 문자열의 맨 오른쪽의 개행문자(공백)를 삭제해주는 함수이다. ※ 여러 줄의 문자열 리스트에 입력받기 import sys n = int(sys.stdin.readline()) # 입력받을 문자열 수 data = [sys.st..

[파이썬 라이브러리] math

math 라이브러리는 자주 사용되는 수학적인 기능을 포함하고 있는 라이브러리이다. factorial() 함수 factorial(x) 함수는 x! 값을 반환한다. import math print(math.factorial(5)) sqrt() 함수 sqrt(x) 함수는 x의 제곱근을 반환한다. import math print(math.sqrt(7)) gcd() 함수 gcd(a, b) 함수는 a와 b의 최대 공약수를 출력한다. import math print(math.gcd(21,14)) ※ 수학 공식에서 자주 등장하는 상수가 필요할 때도 math 라이브러리를 사용할 수 있다. ex) 파이(pi), 자연상수 e 참고자료: 이것이 취업을 위한 코딩 테스트다 with 파이썬 - 나동빈 지음(한빛미디어)

[파이썬 라이브러리] itertools

itertools는 파이썬에서 반복되는 데이터를 처리하는 기능을 포함하고 있는 라이브러리이다. 제공하는 클래스는 매우 다양하지만 코딩 테스트에서 유용하게 사용할 수 있는 클래스들을 정리해 볼 것이다. permutations permutations는 리스트와 같은 iterable 객체에서 r개의 데이터를 뽑아 일렬로 나열하는 모든 경우(순열)를 계산해준다. permutations는 클래스이므로 객체 초기화 이후에는 리스트 자료형으로 변환하여 사용한다. 리스트 ['A', 'B', 'C']에서 3개를 뽑아 나열하는 모든 경우를 출력하는 예시는 다음과 같다. from itertools import permutations data = ['A', 'B', 'C'] result = list(permutations(d..

[파이썬 라이브러리] 내장 함수

파이썬에는 별도의 import 명령어 없이 바로 사용할 수 있는 내장 함수가 존재한다. 대표적인 내장 함수는 input()과 print() 인데 이미 '[파이썬 문법] 입출력' 포스트에서 언급했기 때문에 이를 제외한 함수를 정리해 볼 것이다. sum() 함수 sum() 함수는 리스트와 같은 iterable 객체가 입력으로 주어졌을 때, 모든 원소의 합을 반환한다. result = sum([1,2,3,4,5]) print(result) min() 함수, max() 함수 min() 함수는 파라미터가 2개 이상 들어왔을 때 가장 작은 값을 반환한다. result = min(7,5,6,2) print(result) max() 함수는 파라미터가 2개 이상 들어왔을 때 가장 큰 값을 반환한다. result = ma..

[파이썬 문법] 함수

파이썬에서 함수의 구조는 다음과 같다. 이때 매개변수와 반환 값은 없을 수 도 있다. def 함수명(매개변수): 실행할 소스코드 return 반환 값 def add(a,b): return a + b print(add(7,6)) ※ 여러 개의 반환 값 다른 언어와 달리, 파이썬에서 함수는 여러 개의 반환 값을 가질 수 있다. def operater(a,b): add = a + b sub = a - b mul = a * b div = a / b return add, sub, mul, div a,b,c,d = operater(7,3) print(a,b,c,d) global 키워드 함수 안에서 함수 밖의 데이터를 변경해야 하는 경우가 있는데 이때는 함수에서 global 키워드로 변수를 지정하면, 해당 함수에서는..

[파이썬 문법] 파이썬의 조건문

조건문 파이썬에서 조건문을 작성할 때는 if ~ elif ~ else 문을 사용한다. elif는 다른 언어에서 else if 로 사용하는 부분이다. 파이썬에서 조건문을 작성할 때는 코드의 블록을 들여쓰기(4개의 공백문자)로 설정해야한다. score = 95 if score >= 90: print("A") print("축하합니다.") elif score >= 80: print("B") else: print("C") 다만 위의 else문 같이 조건문에서 실행될 소스코드가 한 줄인 경우, 줄 바꿈을 하지 않고도 간략하게 표현할 수 있다. ※ 조건부 표현식 조건부 표현식을 이용하면 if ~ else 문을 한 줄에 작성할 수 있다. score = 90 result = "Success" if score >= 90 ..

[파이썬 문법] 입출력

데이터 입력 받기 파이썬에서 데이터를 입력받을 때는 input() 함수를 사용한다. input() 함수는 한 줄의 문자열을 입력 받도록 해준다. 만약 입력받은 데이터를 정수형 데이터로 처리하기 위해서는 int() 함수로 input() 함수를 감싸서 사용하면 된다. 그리고 여러 개의 데이터를 입력받을 때는 데이터가 공백으로 구분되는 경우가 많다. 그래서 코딩테스트에서는 입력받은 문자열을 띄어쓰기로 구분하여 각각 정수형 데이터로 저장하는 코드의 사용 빈도가 매우 높다. 이때는 list(map(int, input().split()))을 이용하면 된다. map 함수는 리스트의 모든 원소에 각각 특정한 함수를 적용할 때 사용한다. list(map(int, input().split()))의 동작 과정을 알아보면 가..

[파이썬 문법] 그 외 다양한 자료형(문자열, 튜플, 사전, 집합)

문자열 자료형 문자열 변수를 초기화할 때는 큰따옴표(")나 작은따옴표(')를 이용한다. 다만 문자열 안에 큰따옴표나 작은따옴표가 포함되어야 하는 경우가 있다. 기본적으로 문자열을 큰따옴표로 구성하는 경우, 내부적으로 작은따옴표를 포함할 수 있고 반대로 문자열을 작은따옴표로 구성하는 경우, 내부적으로 큰따옴표를 포함할 수 있다. 혹은 백슬래시(\)를 사용하면, 큰 따옴표나 작은따옴표를 문자열에 원하는 만큼 포함시킬 수 있다. data = "Don't you know \"Python\"?" print(data) 문자열 연산 파이썬은 문자열에 대한 연산도 지원한다. 자바와 같이 문자열 변수에 덧셈(+)을 이용하면 단순히 문자열이 더해져서 연결된다. C언어에서는 strcat()을 사용해야 한다. 또한 파이썬에서..

[파이썬 문법] 리스트 자료형

리스트 자료형 파이썬의 리스트 자료형은 C나 자바와 같은 언어의 배열 기능을 포함하고 있으며, 내부적으로 연결 리스트 자료구조를 채택하고 있어서 append(), remove() 등의 메서드를 지원한다. 파이썬의 리스트는 C++ 의 STL vector와 유사하다. 리스트 만들기 리스트는 대괄호([]) 안에 원소를 넣어 초기화하며, 쉼표로 원소를 구분한다. 리스트의 원소에 접근할 때는 인덱스를 이용하며 0부터 N시작한다. 비어있는 리스트를 선언할 때는 list() 또는 비어있는 대괄호([])를 사용할 수 있다. a = [1,2,3,4,5] print(a) print(a[3]) # 4번째 원소에 접근 a = list() # 비어있는 리스트 생성 방법 1 print(a) a = [] # 비어있는 리스트 생성 ..

반응형