Search

이코테

수행시간 측정 소스 코드
import time start_time = time.time() # 측정 시작 ''' 프로그램 소스코드 ''' end_time = time.time() # 측정 종료 print("time: ", end_time - start_time) # 수행 시간 출력
Python
복사

파이썬의 _ 사용

반복을 수행하되 반복을 위한 변수의 값을 무시하고자 할 때 언더바(_)를 자주 사용한다.
# 1부터 9까지 자연수를 더하기 summary = 0 for i in range(1,10): summary += 1 print(summary) # "hello world" 를 5번 출력하기 for _ in range(5): print("hello world")
Python
복사

리스트의 많이 쓰이는 내장 함수

append()
변수명.append()
리스트에 원소를 하나 삽입할 때 사용
O(1)
sort()
변수명.sort()
기본 정렬 기능으로 기본은 오름차순
O(NlogN)
변수명.sort(reverse=True)
내림차순 정렬
reverse()
변수명.reverse()
원소들의 순서 뒤집기
O(N)
insert()
insert(삽입할위치인덱스, 삽입할 값)
특정한 인덱스 위치에 원소를 삽입할 때 사용
O(N)
count()
변수명.count(특정 값)
리스트에서 특정 값을 가지는 데이터의 개수를 센다.
O(N)
remove()
변수명.remove(특정 값)
특정 값을 삭제하는데, 여러 개면 하나만 삭제한다.
O(N)
 특정 값을 가지는 원소를 모두 삭제하려면?
a = [1,2,3,4,5,5,5] remove_set = {3,5} # 집합 자료형 # remove_set 에 포함되지 않는 값만을 저장 result = [i for i in a if i not in remove_set] print(result)
Python
복사

알고리즘에서 튜플을 사용하는 경우

서로 다른 성질의 데이터를 묶어서 관리해야 할 때
최단 경로 알고리즘에서는 (비용(실수), 노드 번호(정수))의 형태로 튜플 자료형을 자주 사용한다.
데이터의 나열을 해싱의 키 값으로 사용해야 할 때
튜플은 변경이 불가하므로 리스트와 다르게 키 값으로 사용될 수 있다.
리스트보다 메모리를 더 효율적으로 사용해야 할 때

자주 사용되는 표준 입력 방법

# 공백을 기준으로 구분된 데이터를 입력받을 때 다음과 같이 사용한다. list(map(int,input().split())) # 공백을 기준으로 구분된 데이터의 개수가 많지 않다면 단순하게 다음과 같이 사용할 수도 있다. a,b,c = map(int, input().split()) # 3개라면
Python
복사

사용자로부터 빠르게 입력 받기

→ 파이썬의 경우 sys 라이브러리에 정의되어 있는 sys.stdin.readline() 메서드를 이용한다.
import sys # 문자열 입력받기 data = sys.stdin.readline().rstrip() print(data)
Python
복사