목록2024/11/12 (4)
컴퓨터공학 💻 도서관📚
계수 정렬은 가장 작은 데이터부터 가장 큰 데이터까지의 모든 범위를 포함할 수 있는 크기의 배열을 만들어야 하기 때문에 상대적으로 공간 복잡도가 높지만, 조건만 맞다면 다른 방법보다 더 효율적인 알고리즘이다 계수 정렬은 데이터를 정수 형태로 표현할 수 있을 때 사용 가능하다. 계수 정렬은 가장 작은 데이터부터 가장 큰 데이터까지의 범위가 모두 담길 수 있는 크기의 리스트를 선언해야 한다 계수 정렬 코드에서 중첩 for문을 보면 바깥쪽 for문이 K 번 돌아가고 안쪽 for문은 수행 횟수가 N 번이므로 시간복잡도는 O(K + N) 이다 계수정렬은 동일한 값을 가지는 데이터가 여러 개 나올 때 효과적이다.
원소가 1개인 경우에는 그대로 종료한다 1. 리스트 슬라이싱과 2. 리스트 컴프리헨션을 활용
comprehension 영단어 뜻은 이해, 이해력, 포용력 이다.List Comprehension 을 이용하면 리스트의 모든 요소를 단 한 줄로 관여할 수 있다 표현식 + for문 형식# case 1result = [int(input()) for i in range()]# case 2result = [list(map(int, input().split())) for i in range(n)]# case 3result = [[0]*n for i in range(n)] 표현식 + for문 + 조건문 형식# case 1n = 10result = [i for i in range(n) if i % 2 == 0]print(result)# 출력 결과 : [0, 2, 4, 6, 8]# case 2left_sid..
data = ['서울', '부산', '대구', '인천', '강릉'] city = data[0:3]print(city)# 출력 결과 : ['서울', '부산', '대구'] city = data[2:5]print(city)# 출력 결과 : ['대구', '인천', '강릉'] city = data[3:]print(city)# 출력 결과 : ['인천', '강릉'] city = data[:2]print(city)# 출력 결과 : ['서울', '부산'] city = data[2:-1] # data[2:4] 와 같다, 마지막은 열린구간이니까 마지막 앞에까지 출력print(city)# 출력 결과 : ['대구', '인천']