SlideShare a Scribd company logo
1 of 13
Download to read offline
코딩테스트 합격자 되기
1주차 스터디
기본과정 - 시간복잡도 활용
● 책 미리보기(180 페이지 분량)
● 책 구매하기
● 소통할수 있는 톡방
● 깃허브에서 공부하기
● 네이버 카페
저자와 소통하기
유투브 강의와 같이 보세요
https://youtu.be/wtBUKpXPN4Q?si=kNdmLgrpQm7xB-j_
내 코드를 평가하는 방식
- 내가 작성한 코드의 결과값과 테스트 케이스의 결과값이 일치해야함(정확성)
- 문제에서 요구하는 알고리즘 “성능”을 만족해야 함(효율성)
내코드 수행시
간
정답코드 수행
시간
비교
정답코드의 성능과 유사한지 확인해서 정답 처리
=> “성능” 이란 무엇인가?
성능을 측정하는 법 - 시간복잡도의 개념
- 수행시간을 측정하는 법과 연산 횟수를 측정하는 법이 있음.
1 2 3 4 5 6 7 8
배열을 한 번 순회하는 알고리즘의 “성능”은?
입력 출력
코드 동작
관점 1) 절대적인 시간이 어느정도 걸렸나?(성능,환경에 의존적)
관점 2) 코드의 연산이 몇번 됬나? -> 환경의존적이지 않은 방식
시간 복잡도란, 입력값과 연산 횟수의 상관관계에 따라 성능을 측정하는 것
시간 복잡도 측정 - 연산횟수가 항상 일정한 경우
입력 크기 연산 횟수
1 1
2 2
3 3
4 4
5 5
6 6
N N
연산횟수를 그래프로 그려보면
f(x) = x 그래프와 일치
배열을 순회하는 알고리즘의 연산횟수를 N으로 일반화 해보자
=> 입력 값이 N일때 연산횟수가 N번이라고 수 있음, 시간복잡도는 N이다.
시간 복잡도 측정 - 연산횟수가 항상 일정하지 않은 경우
- 각 경우마다 연산횟수가 많이 차이나는 경우가 있음(뭘 기준으로 할 것인가?)
1 2 3 4 5 6 … N
배열에서 내가 원하는 원소를 찾을때 시간복잡도?
경우 연산 횟수
최선의 경우 1
평균적인 경우 N/2
최악의 경우 N 가장 최악의 상황에서도 연산횟수가 N임을 보장함(worst case)
대부분 이정도의 연산횟수임을 보장함(average case)
가장 운이 좋은경우 이 연산횟수가 됨(best case)
제한 시간내에 결과값이 나와야 하는 코딩테스트의 목적과 맞으므로 이를 활용함
시간 복잡도 측정 - 정확한 연산횟수보다 추이(½)
우리 목적은 연산횟수를 정확히 세는게 아니라, 성능의 추이를 파악하고 테스트를
통과할지 판단한는 것 입니다. => 추이만 알아도 충분함. + 추이는 worst case
y = x^3
y = 2x^2
y = x^2 + 3x + 5
이 점부터 항상
solution()의 연산횟수보
다 많음
특정지점부터 항상 내 연산횟수보다 위에있는 함수들 중 하나를 사용하면 된다. 이를 점근적 상한이라고 하고
Big-O로 표한한다.(ex O(X^3), O(2X^2) 모두 가능 그러나 이 들중 무엇을 선택해야 할지 정해야 한다.
시간 복잡도 측정 - 정확한 연산횟수보다 추이(2/2)
여러 점근적 상한중 무엇을 선택할 것인가?
=> 최고차항의 상수및 부호를 떼고, 나머지를 버리면 된다.
y=x^2
y= 3x
y = 5
각 항의 추이를 그리면
최고차항 그래프 값이 나머
지를 무시할 정도로 점점 커
진다!
즉 연산횟수 X^2 + 3X + 5는
점근적 상한으로 표기할 때
O(X^2)으로 쓸 수 있다
* 최고차항 보다 높은 차수의
점근적 상한은 오차가 너무
크므로 의미없다(뒤에서 설
명)
시간 복잡도 - 코딩테스트에서 어떻게 활용할 것인가?(¼)
- 입력값을 보고 가용한 시간복잡도를 고민가능
- 초당 연산횟수를 1,000만 에서 3,000만 이라고 생각하면 됨
시간 복잡도 - 코딩테스트에서 어떻게 활용할 것인가?(2/4)
- 코딩테스트에 주로 등장하는 복잡도
복잡도 사용되는 예시 연산횟수
10 20
O(1) 배열의 인덱스를 통해서 원소접근 1 1
O(logn) 이진탐색 1 1
O(n) 순차탐색 10 20
O(nlogn) 정렬 10 26
O(n^2) 행렬곱셈, 다항식 계산 100 400
O(2^n) 부분집합 구하기, 하노이 1024 1,048,576
O(N!) 순열 생성, 외판원 문제(TSP) 3,628,800 2,432,902,008,176,640,000
복잡도 O(nlogn 미만 그래프)
전체 그래프
시간 복잡도 - 코딩테스트에서 어떻게 활용할 것인가?(¾)
12
선형탐색,O(x)
행렬곱셈O(x^2)
부분 집합,O(2^x)
트리탐색, O(logx)
시간 복잡도 - 코딩테스트에서 어떻게 활용할 것인가?(4/4)
- 문제에 주어지는 입력값으로, 사용가능한 알고리즘 추정 가능
O(N^2) 알고리즘으로 풀면 통과하지 못하겠구나!
정답 코드
복잡한 알고리즘을 생각하지 않고, 그냥 구현하
면 되겠구나!
정답 코드

More Related Content

What's hot

[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 6장 결정 트리
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 6장 결정 트리[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 6장 결정 트리
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 6장 결정 트리Haesun Park
 
AtCoder Regular Contest 033 解説
AtCoder Regular Contest 033 解説AtCoder Regular Contest 033 解説
AtCoder Regular Contest 033 解説AtCoder Inc.
 
部内勉強会 数え上げの基礎
部内勉強会 数え上げの基礎部内勉強会 数え上げの基礎
部内勉強会 数え上げの基礎Kazuma Mikami
 
AtCoder Regular Contest 028 解説
AtCoder Regular Contest 028 解説AtCoder Regular Contest 028 解説
AtCoder Regular Contest 028 解説AtCoder Inc.
 
Indeedなう 予選B 解説
Indeedなう 予選B 解説Indeedなう 予選B 解説
Indeedなう 予選B 解説AtCoder Inc.
 
강화학습의 흐름도 Part 1
강화학습의 흐름도 Part 1강화학습의 흐름도 Part 1
강화학습의 흐름도 Part 1Dongmin Lee
 
선형대수 05. 열벡터공간
선형대수 05. 열벡터공간선형대수 05. 열벡터공간
선형대수 05. 열벡터공간AHRA CHO
 
Faster matroid intersection
Faster matroid intersectionFaster matroid intersection
Faster matroid intersectionga sin
 
MUJINプログラミングチャレンジ2016 解説
MUJINプログラミングチャレンジ2016 解説MUJINプログラミングチャレンジ2016 解説
MUJINプログラミングチャレンジ2016 解説AtCoder Inc.
 
Boost.Logとfluentdで始めるログ活用術
Boost.Logとfluentdで始めるログ活用術Boost.Logとfluentdで始めるログ活用術
Boost.Logとfluentdで始めるログ活用術Toshiki Teramura
 
Презентація: Властивості віднімання
Презентація: Властивості відніманняПрезентація: Властивості віднімання
Презентація: Властивості відніманняsveta7940
 
Exercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivitéExercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivitésalah fenni
 
선형대수 04. Inverse and Transpose
선형대수 04. Inverse and Transpose선형대수 04. Inverse and Transpose
선형대수 04. Inverse and TransposeAHRA CHO
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해Hee Won Park
 
선형대수 06. 영벡터공간과 해집합
선형대수 06. 영벡터공간과 해집합선형대수 06. 영벡터공간과 해집합
선형대수 06. 영벡터공간과 해집합AHRA CHO
 
Square869120 contest #2
Square869120 contest #2Square869120 contest #2
Square869120 contest #2AtCoder Inc.
 
Corrige math s1-s3_r_1er_gr_2013
Corrige math s1-s3_r_1er_gr_2013Corrige math s1-s3_r_1er_gr_2013
Corrige math s1-s3_r_1er_gr_2013Ibrahima Sow
 

What's hot (20)

WUPC2012
WUPC2012WUPC2012
WUPC2012
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 6장 결정 트리
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 6장 결정 트리[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 6장 결정 트리
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 6장 결정 트리
 
AtCoder Regular Contest 033 解説
AtCoder Regular Contest 033 解説AtCoder Regular Contest 033 解説
AtCoder Regular Contest 033 解説
 
部内勉強会 数え上げの基礎
部内勉強会 数え上げの基礎部内勉強会 数え上げの基礎
部内勉強会 数え上げの基礎
 
AtCoder Regular Contest 028 解説
AtCoder Regular Contest 028 解説AtCoder Regular Contest 028 解説
AtCoder Regular Contest 028 解説
 
функції
функціїфункції
функції
 
Indeedなう 予選B 解説
Indeedなう 予選B 解説Indeedなう 予選B 解説
Indeedなう 予選B 解説
 
강화학습의 흐름도 Part 1
강화학습의 흐름도 Part 1강화학습의 흐름도 Part 1
강화학습의 흐름도 Part 1
 
선형대수 05. 열벡터공간
선형대수 05. 열벡터공간선형대수 05. 열벡터공간
선형대수 05. 열벡터공간
 
Faster matroid intersection
Faster matroid intersectionFaster matroid intersection
Faster matroid intersection
 
MUJINプログラミングチャレンジ2016 解説
MUJINプログラミングチャレンジ2016 解説MUJINプログラミングチャレンジ2016 解説
MUJINプログラミングチャレンジ2016 解説
 
Boost.Logとfluentdで始めるログ活用術
Boost.Logとfluentdで始めるログ活用術Boost.Logとfluentdで始めるログ活用術
Boost.Logとfluentdで始めるログ活用術
 
Презентація: Властивості віднімання
Презентація: Властивості відніманняПрезентація: Властивості віднімання
Презентація: Властивості віднімання
 
Exercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivitéExercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivité
 
선형대수 04. Inverse and Transpose
선형대수 04. Inverse and Transpose선형대수 04. Inverse and Transpose
선형대수 04. Inverse and Transpose
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해
 
선형대수 06. 영벡터공간과 해집합
선형대수 06. 영벡터공간과 해집합선형대수 06. 영벡터공간과 해집합
선형대수 06. 영벡터공간과 해집합
 
Square869120 contest #2
Square869120 contest #2Square869120 contest #2
Square869120 contest #2
 
JOIss2014
JOIss2014JOIss2014
JOIss2014
 
Corrige math s1-s3_r_1er_gr_2013
Corrige math s1-s3_r_1er_gr_2013Corrige math s1-s3_r_1er_gr_2013
Corrige math s1-s3_r_1er_gr_2013
 

Similar to 코딩테스트 합격자 되기 1주차 스터디 - 시간복잡도.pptx

3.neural networks
3.neural networks3.neural networks
3.neural networksHaesun Park
 
세미나
세미나세미나
세미나Dongyi Kim
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강Woong won Lee
 
학습곡선과 라인밸런싱
학습곡선과 라인밸런싱학습곡선과 라인밸런싱
학습곡선과 라인밸런싱준호 김
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical MethodologyKyeongUkJang
 
[Hello world 오픈세미나]n grinder helloworld발표자료_저작권free
[Hello world 오픈세미나]n grinder helloworld발표자료_저작권free[Hello world 오픈세미나]n grinder helloworld발표자료_저작권free
[Hello world 오픈세미나]n grinder helloworld발표자료_저작권freeNAVER D2
 
111 n grinder-deview_day1_track1_session_1_ver_2
111 n grinder-deview_day1_track1_session_1_ver_2111 n grinder-deview_day1_track1_session_1_ver_2
111 n grinder-deview_day1_track1_session_1_ver_2NAVER D2
 
강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introductionTaehoon Kim
 
TDD&Refactoring Day 03: TDD
TDD&Refactoring Day 03: TDDTDD&Refactoring Day 03: TDD
TDD&Refactoring Day 03: TDDSuwon Chae
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK
 
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)Curt Park
 
자료구조 Project2
자료구조 Project2자료구조 Project2
자료구조 Project2KoChungWook
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3Haesun Park
 
Function approximation as supervised learning
Function approximation as supervised learningFunction approximation as supervised learning
Function approximation as supervised learningSunggon Song
 
Vector Optimization
Vector Optimization Vector Optimization
Vector Optimization SEMINARGROOT
 
[소프트웨어교육] 알고리즘 교사 연수 자료
[소프트웨어교육] 알고리즘 교사 연수 자료[소프트웨어교육] 알고리즘 교사 연수 자료
[소프트웨어교육] 알고리즘 교사 연수 자료Sangsu Song
 
[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규ChangKyu Song
 
시스템공학 기본(Fundamental of systems engineering) - Day6 design synthesis 2
시스템공학 기본(Fundamental of systems engineering) - Day6 design synthesis 2시스템공학 기본(Fundamental of systems engineering) - Day6 design synthesis 2
시스템공학 기본(Fundamental of systems engineering) - Day6 design synthesis 2Jinwon Park
 
개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow양 한빛
 
HI-ARC PS 102 Brute Force
HI-ARC PS 102 Brute ForceHI-ARC PS 102 Brute Force
HI-ARC PS 102 Brute ForceJae-yeol Lee
 

Similar to 코딩테스트 합격자 되기 1주차 스터디 - 시간복잡도.pptx (20)

3.neural networks
3.neural networks3.neural networks
3.neural networks
 
세미나
세미나세미나
세미나
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강
 
학습곡선과 라인밸런싱
학습곡선과 라인밸런싱학습곡선과 라인밸런싱
학습곡선과 라인밸런싱
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical Methodology
 
[Hello world 오픈세미나]n grinder helloworld발표자료_저작권free
[Hello world 오픈세미나]n grinder helloworld발표자료_저작권free[Hello world 오픈세미나]n grinder helloworld발표자료_저작권free
[Hello world 오픈세미나]n grinder helloworld발표자료_저작권free
 
111 n grinder-deview_day1_track1_session_1_ver_2
111 n grinder-deview_day1_track1_session_1_ver_2111 n grinder-deview_day1_track1_session_1_ver_2
111 n grinder-deview_day1_track1_session_1_ver_2
 
강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction
 
TDD&Refactoring Day 03: TDD
TDD&Refactoring Day 03: TDDTDD&Refactoring Day 03: TDD
TDD&Refactoring Day 03: TDD
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리
 
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
 
자료구조 Project2
자료구조 Project2자료구조 Project2
자료구조 Project2
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3
 
Function approximation as supervised learning
Function approximation as supervised learningFunction approximation as supervised learning
Function approximation as supervised learning
 
Vector Optimization
Vector Optimization Vector Optimization
Vector Optimization
 
[소프트웨어교육] 알고리즘 교사 연수 자료
[소프트웨어교육] 알고리즘 교사 연수 자료[소프트웨어교육] 알고리즘 교사 연수 자료
[소프트웨어교육] 알고리즘 교사 연수 자료
 
[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규
 
시스템공학 기본(Fundamental of systems engineering) - Day6 design synthesis 2
시스템공학 기본(Fundamental of systems engineering) - Day6 design synthesis 2시스템공학 기본(Fundamental of systems engineering) - Day6 design synthesis 2
시스템공학 기본(Fundamental of systems engineering) - Day6 design synthesis 2
 
개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow개발자를 위한 공감세미나 tensor-flow
개발자를 위한 공감세미나 tensor-flow
 
HI-ARC PS 102 Brute Force
HI-ARC PS 102 Brute ForceHI-ARC PS 102 Brute Force
HI-ARC PS 102 Brute Force
 

코딩테스트 합격자 되기 1주차 스터디 - 시간복잡도.pptx

  • 1. 코딩테스트 합격자 되기 1주차 스터디 기본과정 - 시간복잡도 활용
  • 2. ● 책 미리보기(180 페이지 분량) ● 책 구매하기 ● 소통할수 있는 톡방 ● 깃허브에서 공부하기 ● 네이버 카페 저자와 소통하기
  • 3. 유투브 강의와 같이 보세요 https://youtu.be/wtBUKpXPN4Q?si=kNdmLgrpQm7xB-j_
  • 4. 내 코드를 평가하는 방식 - 내가 작성한 코드의 결과값과 테스트 케이스의 결과값이 일치해야함(정확성) - 문제에서 요구하는 알고리즘 “성능”을 만족해야 함(효율성) 내코드 수행시 간 정답코드 수행 시간 비교 정답코드의 성능과 유사한지 확인해서 정답 처리 => “성능” 이란 무엇인가?
  • 5. 성능을 측정하는 법 - 시간복잡도의 개념 - 수행시간을 측정하는 법과 연산 횟수를 측정하는 법이 있음. 1 2 3 4 5 6 7 8 배열을 한 번 순회하는 알고리즘의 “성능”은? 입력 출력 코드 동작 관점 1) 절대적인 시간이 어느정도 걸렸나?(성능,환경에 의존적) 관점 2) 코드의 연산이 몇번 됬나? -> 환경의존적이지 않은 방식 시간 복잡도란, 입력값과 연산 횟수의 상관관계에 따라 성능을 측정하는 것
  • 6. 시간 복잡도 측정 - 연산횟수가 항상 일정한 경우 입력 크기 연산 횟수 1 1 2 2 3 3 4 4 5 5 6 6 N N 연산횟수를 그래프로 그려보면 f(x) = x 그래프와 일치 배열을 순회하는 알고리즘의 연산횟수를 N으로 일반화 해보자 => 입력 값이 N일때 연산횟수가 N번이라고 수 있음, 시간복잡도는 N이다.
  • 7. 시간 복잡도 측정 - 연산횟수가 항상 일정하지 않은 경우 - 각 경우마다 연산횟수가 많이 차이나는 경우가 있음(뭘 기준으로 할 것인가?) 1 2 3 4 5 6 … N 배열에서 내가 원하는 원소를 찾을때 시간복잡도? 경우 연산 횟수 최선의 경우 1 평균적인 경우 N/2 최악의 경우 N 가장 최악의 상황에서도 연산횟수가 N임을 보장함(worst case) 대부분 이정도의 연산횟수임을 보장함(average case) 가장 운이 좋은경우 이 연산횟수가 됨(best case) 제한 시간내에 결과값이 나와야 하는 코딩테스트의 목적과 맞으므로 이를 활용함
  • 8. 시간 복잡도 측정 - 정확한 연산횟수보다 추이(½) 우리 목적은 연산횟수를 정확히 세는게 아니라, 성능의 추이를 파악하고 테스트를 통과할지 판단한는 것 입니다. => 추이만 알아도 충분함. + 추이는 worst case y = x^3 y = 2x^2 y = x^2 + 3x + 5 이 점부터 항상 solution()의 연산횟수보 다 많음 특정지점부터 항상 내 연산횟수보다 위에있는 함수들 중 하나를 사용하면 된다. 이를 점근적 상한이라고 하고 Big-O로 표한한다.(ex O(X^3), O(2X^2) 모두 가능 그러나 이 들중 무엇을 선택해야 할지 정해야 한다.
  • 9. 시간 복잡도 측정 - 정확한 연산횟수보다 추이(2/2) 여러 점근적 상한중 무엇을 선택할 것인가? => 최고차항의 상수및 부호를 떼고, 나머지를 버리면 된다. y=x^2 y= 3x y = 5 각 항의 추이를 그리면 최고차항 그래프 값이 나머 지를 무시할 정도로 점점 커 진다! 즉 연산횟수 X^2 + 3X + 5는 점근적 상한으로 표기할 때 O(X^2)으로 쓸 수 있다 * 최고차항 보다 높은 차수의 점근적 상한은 오차가 너무 크므로 의미없다(뒤에서 설 명)
  • 10. 시간 복잡도 - 코딩테스트에서 어떻게 활용할 것인가?(¼) - 입력값을 보고 가용한 시간복잡도를 고민가능 - 초당 연산횟수를 1,000만 에서 3,000만 이라고 생각하면 됨
  • 11. 시간 복잡도 - 코딩테스트에서 어떻게 활용할 것인가?(2/4) - 코딩테스트에 주로 등장하는 복잡도 복잡도 사용되는 예시 연산횟수 10 20 O(1) 배열의 인덱스를 통해서 원소접근 1 1 O(logn) 이진탐색 1 1 O(n) 순차탐색 10 20 O(nlogn) 정렬 10 26 O(n^2) 행렬곱셈, 다항식 계산 100 400 O(2^n) 부분집합 구하기, 하노이 1024 1,048,576 O(N!) 순열 생성, 외판원 문제(TSP) 3,628,800 2,432,902,008,176,640,000 복잡도 O(nlogn 미만 그래프) 전체 그래프
  • 12. 시간 복잡도 - 코딩테스트에서 어떻게 활용할 것인가?(¾) 12 선형탐색,O(x) 행렬곱셈O(x^2) 부분 집합,O(2^x) 트리탐색, O(logx)
  • 13. 시간 복잡도 - 코딩테스트에서 어떻게 활용할 것인가?(4/4) - 문제에 주어지는 입력값으로, 사용가능한 알고리즘 추정 가능 O(N^2) 알고리즘으로 풀면 통과하지 못하겠구나! 정답 코드 복잡한 알고리즘을 생각하지 않고, 그냥 구현하 면 되겠구나! 정답 코드