본문 바로가기

시간복잡도2

1. 프로그래밍에서 복잡도란? 1. 시간복잡도 컴퓨터과학 용어로, 컴퓨터 프로그램의 입력값과 연산 수행 시간의 상관관계를 나타내는 척도이다. 일반적으로 시간 복잡도와 로직의 수행시간은 비례하므로 시간 복잡도 수치가 작을 수록 효율적인 알고리즘임을 뜻한다. 시간복잡도의 표기법 시간 복잡도는 보통의 경우 점근 표기법으로 사용되는데 주로 사용되는 점근 표기법은 아래와 같이 3가지가 있다. Big-O 표기법 / O(N): 빅오 표기법은 알고리즘 '최악'의 실행시간을 표기한다. Ω 표기법 / Ω(N): 오메가 표기법은 알고리즘 '최상'의 실행시간을 표기한다. Θ 표기법 / Θ(N): 세타 표기법은 알고리즘 '평균'의 실행시간을 표기한다. Q. 위의 3가지 중에서 일반적으로 많이 사용되는 점근 표기법은 Big-O표기법이다. 왜 하필 '최악'의 .. 2023. 5. 2.
백준(12891번) - DNA 비밀번호 문제풀이 접근 슬라이싱윈도우 이용해서 O(n) 시간복잡도로 계산 설계 슬라이싱 윈도우로 문자열 왼쪽 빼고 오른쪽 더해서 문자열 정의하기 정의한 문자열에 DNA 문자 개수 세서 stat 리스트에 저장하기 ‘A’,’C’,’G’,’T’ 최솟값 minDNA 리스트와 stat 에 저장된 수 비교해서 DNA비밀번호 되는지 확인 lens, lenp = map(int,input().split()) st = input() minDNA = list(map(int,input().split())) DNAlst = ['A','C','G','T'] password = str() stat = [0,0,0,0] cnt = 0 for i in range(lenp): ## 초기 p만큼 문자 설정 password += st[i] for i in .. 2023. 2. 18.

반갑습니다 ✿ڿڰۣ— 조은하루 ^^
SSAFY 9기 김웅서 티스토리