수행시간 측정 소스 코드
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
복사