코테준비-기본

장우솔·2023년 1월 17일
0

알고리즘

목록 보기
1/21
post-custom-banner

수 자료형

10억 = 1e9

round(숫자,2) : 셋째 자리에서 반올림

  • 연산자
    • 나머지 : %
    • 몫 : //
    • 거듭제곱 : **





리스트 자료형

인덱싱 : 인덱스값을 입력하여 리스트의 특정한 원소에 접근하는 것

음의 정수를 넣으면 원소 끝에서부터 탐색! a[3] : 4번째 원소 출력 , a[-3] : 뒤에서 3번째 원소 출력

슬라이싱 : 결과 값이 (시작인덱스 : 끝인덱스-1)로 나옴 * range(시작 값, 끝 값-1)로 나옴

리스트 컴프리헨션 : 리스트 초기화하는 방법, 2차원 리스트 초기화할 때 효과적이다

#한줄로 표현하는거 !!! 
# 홀수 만들기
array= [i for i in range(20) if i%2==1]

# 이것과 같음
array=[]
for i in range(20):
	if i%2==1:
		array.append(i)

# 거듭제곱하기 
array=[i*i for i in range(1,10)]

# 2차원 리스트를 초기화할 때도 효과적이다!
# N x M 크기의 2차원 초기화
N=3
M=4
array=[i*m for i in range(n)]
메서드명사용법설명시간 복잡도
append()변수명.append()원소 하나 삽입O(1)
extend()변수명.extend()반복가능한 모든 항목을 리스트에 추가O(1)
sort()변수명.sort(reverse=True)정렬O(NlogN)
reverse()변수명.reverse()리스트 원소 순서 모두 뒤집기O(N)
insert()변수명.insert(삽입할 위치 인덱스, 삽입할 값)특정한 인덱스 위치에 원소를 추가할 때 (변경아님!!)O(N)
count()변수명.count(특정값)특정값 가지는 데이터 개수 셀 때O(N)
remove()변수명.remove(특정 값)특정 값 제거, 같은 값 여러 개면 하나만 제거O(N)

append와 extend 차이

ex=[‘사탕’,‘과일’]
ex.append(‘음식’) --> [‘사탕’,‘과일’,‘음’,‘식’] 
ex.extend([‘음식’]) --> [‘사탕’,‘과일’,‘음식’]

리스트를 정렬 key 사용

sorted(변수명, key=lambda x : (x[0],x[1]))**

e = sorted(a, key = lambda x : (x[0], -x[1])) 
# [(0, 1), (1, 2), (3, 0), (5, 2), (5, 1)]

f = sorted(a, key = lambda x : -x[0]) 
# [(5, 1), (5, 2), (3, 0), (1, 2), (0, 1)])

# 뒤에 문자 순 정렬
s = ['2 A', '1 B', '4 C', '1 A']
s.sorted(s, key=lambda x: (x.split()[1], x.split()[0]))
# ['1 A', '2 A', '1 B', '4 C']
# 특정 값 원소 모두 제거하려면?
A=[1,2,3,4,5]
B=[3,5]
array=[i for i in A if not in B]





사전 자료형 : key, value

  • 데이터 검색 및 수정에 있어서 O(1) 시간에 처리 가능하고, 리스트보다 훨씬 빠르게 동작한다.

  • 순서가 없다.

키 데이터만 뽑아 리스트 만들기 : data.keys()
값만 뽑아 리스트 만들기 : data.values()





집합 자료형 : set([숫자, 숫자,…])

데이터 검색 및 수정에 있어서 O(1) 시간걸림

  • 순서가 없다. * 튜플은 순서는 있음
  • 중복허용x

    데이터 하나 추가 : 변수명.add(1)
    데이터 여러개 추가 : 변수명.update([1,2])
    제거 : data.remove(3)





TDM

문서에 나타난 단어를 표로 정리한 것이다. tm패키지에서는 말뭉치라는 단위의 자료형을 사용한다. corpus함수로 데이터를 corpus로 변환한다. corpus로 데이터 형태 변환후 TermDocumentMatrix함수를 사용한다.

tdm->dtm->lda





문자열 메서드

  • a.join(b) : 리스트 b에 있는 모든 문자열을 하나의 단일 문자열 a로 결합한다.

  • a.format() : 문자열 a에 변수를 추가하거나 형식화할 때
    사용 예시 : ‘{} 나이는{}’.format(‘안녕’, 23)

  • a.splitlines() : 줄바꿈 문자를 기준으로 분리한 결과를 문자열 리스트로 반환한다.

  • a.split() : 공백 문자로 구분한 문자열 리스트가 나온다.

  • a.strip(b) : 문자열a 앞뒤의 문자열 b를 제거한다. 인수 b없으면 공백문자 제거한다.

  • a.find(sub,start,end) : 문자열a에서 sub의 인덱스위치를 반환하며 실패하면 –1 반환

  • a.count(sub,start,end) : 문자열a에서 범위내에 부분 문자열 sub가 나온 횟수 반환

  • a.replace(old,new,maxreplace) : 문자열a에서 문자열 대체로 max만큼 변경한 문자열의 복사본 반환. max지정하지 않으면 모든 old를 new로 변경한다.

  • f-string : 문자열 앞에 f 붙이면 사용할 수 있다. 예시) name=’woo‘; f’그의 이름은 {name}‘

profile
공부한 것들을 정리하는 블로그
post-custom-banner

0개의 댓글