풀기 전 항상 질문할 리스트
최종으로 구하자 하는 건 뭐지? -> 최종으로 보는 메시지
입력값 중 수정되지 않는 건 뭐지? -> 유저 아이디
입력값 중 수정되는 건 뭐지? -> 닉네임
입력값이 수정될 때 어디가 영향받지? -> 오픈 채팅방의 내용 변경
입력값은 어느 조건에서 수정되지? Enter와 Change인 경우
컴퓨터 1초 기준 -> 1000만~ 3000만, 으로 생각
시간 복잡도
시간 복잡도
N의 가용 범위
O(N!)
10
O(2^n)
20~25
O(N^3)
200~300
O(N^2)
3000~5000
O(NlogN)
100만
O(N)
1000~2000만
O(logN)
10억 이상
BUD를 찾자
두 단계로 이루어진 알고리즘이 있다고 가정해보자. 먼저 배열을 정렬한 뒤 특정 속성을 가진 원소를 찾는 알고리즘이라고 가정해보자. 첫 번째 단계에선 O(NlogN)이 소요되고 두 번째 단계에선 O(N)이 소요된다. 두번째 단계를 O(logN)이나 O(1)으로 줄일 수 있다고 해서 의미가 있을까? 별 의미가 없다. 왜냐하면 O(NlogN)이 알고리즘의 병목점이기 때문이다.
Last updated