SlideShare a Scribd company logo
1 of 34
코딩 인터뷰 맛보기
FREAKOUT INC
안수한
코딩 인터뷰 + 알고리즘 열풍
코딩 인터뷰 + 알고리즘 열풍
코딩 인터뷰 + 알고리즘 열풍
코딩 인터뷰 + 알고리즘 열풍
코딩 인터뷰 + 알고리즘 열풍
미약한 경험이지만..
코딩인터뷰 = 알고리즘 문제?
 No!
 알고리즘 문제는 코딩 인터뷰의 일부.
코딩인터뷰 (G사 기준)
 OOP 설계
 시스템 설계
 알고리즘 + 자료구조
OOP 설계
 기술적인 문제나 실생활 관련 문제를 Object로 설계.
 Ex)
 Design a musical jukebox using object-oriented principles.
 Design a parking lot using OOP.
시스템 설계
 서비스나 플랫폼의 전반적인 설계.
 실제 플랫폼과 같이 네트워크, DB, Indexing 등의 다양한
요소를 적재적소에 이용하여 설계.
시스템 설계
Ex)
 Duplicate URLs: You have 10 billion URLs. How do you detect
the duplicate documents?
 Social Network: How would you design the data structures
for a very large social network like FB or Linkedin? Describe
how you would design an algorithm to show the shortest path
between two people.
OOP 설계 & 시스템 설계
 정답은 없다.
 끊임없이 요구 사항과 사양을 파악하는 것이 중요.
 파악을 위해 끊임없는 질문과 커뮤니케이션이 중요.
알고리즘 + 자료구조
 많은 사람들이 생각하는 그 부분.
 이 부분도 역시 끊임없는 질문이 필요.
 데이터 타입, 크기, 사용 가능한 메모리, 제약사항 등등..
 다만, 이 부분은 어느정도의 정답은 존재.
 복수의 답이 존재하는 경우는 물론 있음.
알고리즘 + 자료구조
 프로그래밍 언어는 크게 상관없고 자신이 편한 것으로
쓰는 것이 보통.
 특정 언어 개발자로 가는 경우를 제외하고는..
 온사이트에서는 대부분 IDE사용 없이 화이트 보드 코딩.
 따로 연습이 필요.
알고리즘 + 자료구조 범위는?
알고리즘 + 자료구조 범위는?
 https://github.com/jwasham/coding-interview-university
알고리즘 + 자료구조. 필요한건?
 Practice Practice Practice Practice Practice Practice Practice
Practice Practice Practice Practice Practice Practice Practice
Practice Practice Practice Practice Practice Practice Practice
Practice Practice Practice Practice Practice Practice Practice
Practice Practice Practice Practice Practice Practice Practice
Practice Practice Practice Practice Practice Practice Practice
Practice Practice Practice Practice Practice Practice Practice
Practice Practice Practice Practice Practice Practice Practice
Practice Practice Practice Practice Practice Practice Practice
Practice Practice Practice Practice Practice Practice Practice
알고리즘 + 자료구조
 여기까지는 사실 누구나 다 할 수 있는 원론적인 얘기.
 저 Practice를 좀 더 효율적이고, 확률을 높일 수 있을까?
 이 부분에 대해서 생각해보고자 하는 것이 오늘의 미션!
 특히! 처음 준비하시거나, 시간이 얼마 안 남으신 분들.
 Warning: 제가 찍은데서만 나온다고 하지는 않았습니다.
알고리즘 + 자료구조
 이 쪽 파트는 사실 운칠기삼.
 아무리 알고리즘을 빠삭하게 외워도, 낯선 문제가
나오면 쉽지 않음.
 본인 스타일과 맞지 않는 문제라면 코딩에서 꼬일
가능성도 높음.
 반대로 본인 취향대로 나오면 개꿀.
In my opinion..
 Big-O notation.
 Data Structures
 Array
 Binary Search
 Stack, Queue, Linked-lists, Hash table
 Trees & Graphs
 Heap, Binary Search Tree(Traverse-order), DFS, BFS
 Sorting
 Quick sort, Merge sort
 Simple Dynamic programming
In my opinion..
 개념은 익혔다는 전제하에..
 저 항목에 표시된 영역으로 풀리는 문제부터 풀어볼 것.
 나머지 부분의 문제들은 일단 스킵.
Big-O notation
이건 무조건!
정답에 대한 판별 기준.
Big-O notation
 Tip: 보통 온라인 대회에서의 입력치에 따른 기준
 n <= 100000000: O(n)
 n <= 100000 : O(nlgn)
 n <= 10000: O(n^2)
 n <= 100: O(n ^ 3)
 n <= 20: O(2 ^ n)
 저보다 느린 알고리즘은 보통 time-limit exceeded.
Data structures
 Heap or Quicksort
 Ex) 정렬되지 않은 배열이 주어지면, 그 안에서 k번째로 큰
수 찾기.
Data structures
 Heap or Quicksort
 Ex) 정렬되지 않은 배열이 주어지면, 그 안에서 k번째로 큰
수 찾기.
 단일 스레드 기준 시간제한 1초.
 0 < n <= 10000
Data structures
 Heap or Quicksort
 Ex) 정렬되지 않은 배열이 주어지면, 그 안에서 k번째로 큰
수 찾기.
 Max-Heap 만들어 놓고 k번 extract.
 O(n + klgn)
 Quicksort의 원리를 이용.
 최악의 경우는 O(n ^2).
 하지만 average로는 O(n) 기대 가능.
Data structures
 Stack & Queue
 Ex) 두 개의 Stack이 주어졌을 때, 이를 이용하여 Queue를
구현하시오.
Data structures
 Binary Search Tree
 Ex)
Simple Dynamic progaramming
 앞에 계산된 결과를 이용하여 다음 결과를 도출.
 다음 요소가 중요.
 어떤 구조를 사용하고 정의할 것인가?
 1 차원, 2차원, 3차원 배열중..
 초기화
 어느 원소를 참조하고 계산하는가가 중요.
 몇 가지 패턴 외워서 때려 넣어보는 것을 추천.
Simple Dynamic progaramming
 Longest Increasing Sequence.
 1차원 배열.
 Longest Common Sequence.
 2차원 배열.
간단한 모의 테스트.

감사합니다!
참고
 Cracking the coding interview.
 Careercup:
https://www.careercup.com/page?pid=google-interview-
questions&n=2

More Related Content

Similar to Coding interview

Things Data Scientists Should Keep in Mind
Things Data Scientists Should Keep in MindThings Data Scientists Should Keep in Mind
Things Data Scientists Should Keep in MindDataya Nolja
 
TML studio & Beep 알고리즘 스터디, 오리엔테이션
TML studio & Beep 알고리즘 스터디, 오리엔테이션TML studio & Beep 알고리즘 스터디, 오리엔테이션
TML studio & Beep 알고리즘 스터디, 오리엔테이션재원 최
 
21.11.01 ASTERA Study
21.11.01 ASTERA Study21.11.01 ASTERA Study
21.11.01 ASTERA StudyJihun Jeon
 
예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기수보 김
 
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)Haezoom Inc.
 
[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규ChangKyu Song
 
T ka kr_4th
T ka kr_4thT ka kr_4th
T ka kr_4thSubin An
 
[NDC2014]쉽게 따라 할 수있는 "꽤" 훌륭한 유저 동향 분석 시스템
[NDC2014]쉽게 따라 할 수있는 "꽤" 훌륭한 유저 동향 분석 시스템[NDC2014]쉽게 따라 할 수있는 "꽤" 훌륭한 유저 동향 분석 시스템
[NDC2014]쉽게 따라 할 수있는 "꽤" 훌륭한 유저 동향 분석 시스템Hoyeon Kim
 
코딩테트2205-kucc-220508145530-8015b5d7.pdf
코딩테트2205-kucc-220508145530-8015b5d7.pdf코딩테트2205-kucc-220508145530-8015b5d7.pdf
코딩테트2205-kucc-220508145530-8015b5d7.pdfssuser597fbd
 
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)Suhyun Park
 
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기Wonha Ryu
 
100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning Systemhoondong kim
 
학부모.교사대상 Sw교육 세미나
학부모.교사대상 Sw교육 세미나 학부모.교사대상 Sw교육 세미나
학부모.교사대상 Sw교육 세미나 Sangsu Song
 
2021-11-16 모두콘 딥러닝 경량화 발표
2021-11-16 모두콘 딥러닝 경량화 발표2021-11-16 모두콘 딥러닝 경량화 발표
2021-11-16 모두콘 딥러닝 경량화 발표JongkukLim
 
두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략
두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략
두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략Startlink
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투Ubuntu Korea Community
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical MethodologyKyeongUkJang
 
코딩테스트 합격자 되기 연말강의자료(프로그래머스 콜라보)
코딩테스트 합격자 되기 연말강의자료(프로그래머스 콜라보)코딩테스트 합격자 되기 연말강의자료(프로그래머스 콜라보)
코딩테스트 합격자 되기 연말강의자료(프로그래머스 콜라보)ultrasuperrok
 
Workshop 210417 dhlee
Workshop 210417 dhleeWorkshop 210417 dhlee
Workshop 210417 dhleeDongheon Lee
 
세미나
세미나세미나
세미나Dongyi Kim
 

Similar to Coding interview (20)

Things Data Scientists Should Keep in Mind
Things Data Scientists Should Keep in MindThings Data Scientists Should Keep in Mind
Things Data Scientists Should Keep in Mind
 
TML studio & Beep 알고리즘 스터디, 오리엔테이션
TML studio & Beep 알고리즘 스터디, 오리엔테이션TML studio & Beep 알고리즘 스터디, 오리엔테이션
TML studio & Beep 알고리즘 스터디, 오리엔테이션
 
21.11.01 ASTERA Study
21.11.01 ASTERA Study21.11.01 ASTERA Study
21.11.01 ASTERA Study
 
예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기
 
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
 
[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규
 
T ka kr_4th
T ka kr_4thT ka kr_4th
T ka kr_4th
 
[NDC2014]쉽게 따라 할 수있는 "꽤" 훌륭한 유저 동향 분석 시스템
[NDC2014]쉽게 따라 할 수있는 "꽤" 훌륭한 유저 동향 분석 시스템[NDC2014]쉽게 따라 할 수있는 "꽤" 훌륭한 유저 동향 분석 시스템
[NDC2014]쉽게 따라 할 수있는 "꽤" 훌륭한 유저 동향 분석 시스템
 
코딩테트2205-kucc-220508145530-8015b5d7.pdf
코딩테트2205-kucc-220508145530-8015b5d7.pdf코딩테트2205-kucc-220508145530-8015b5d7.pdf
코딩테트2205-kucc-220508145530-8015b5d7.pdf
 
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
 
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
 
100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System
 
학부모.교사대상 Sw교육 세미나
학부모.교사대상 Sw교육 세미나 학부모.교사대상 Sw교육 세미나
학부모.교사대상 Sw교육 세미나
 
2021-11-16 모두콘 딥러닝 경량화 발표
2021-11-16 모두콘 딥러닝 경량화 발표2021-11-16 모두콘 딥러닝 경량화 발표
2021-11-16 모두콘 딥러닝 경량화 발표
 
두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략
두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략
두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical Methodology
 
코딩테스트 합격자 되기 연말강의자료(프로그래머스 콜라보)
코딩테스트 합격자 되기 연말강의자료(프로그래머스 콜라보)코딩테스트 합격자 되기 연말강의자료(프로그래머스 콜라보)
코딩테스트 합격자 되기 연말강의자료(프로그래머스 콜라보)
 
Workshop 210417 dhlee
Workshop 210417 dhleeWorkshop 210417 dhlee
Workshop 210417 dhlee
 
세미나
세미나세미나
세미나
 

Recently uploaded

데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 

Recently uploaded (7)

데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 

Coding interview

  • 2. 코딩 인터뷰 + 알고리즘 열풍
  • 3. 코딩 인터뷰 + 알고리즘 열풍
  • 4. 코딩 인터뷰 + 알고리즘 열풍
  • 5. 코딩 인터뷰 + 알고리즘 열풍
  • 6. 코딩 인터뷰 + 알고리즘 열풍
  • 8. 코딩인터뷰 = 알고리즘 문제?  No!  알고리즘 문제는 코딩 인터뷰의 일부.
  • 9. 코딩인터뷰 (G사 기준)  OOP 설계  시스템 설계  알고리즘 + 자료구조
  • 10. OOP 설계  기술적인 문제나 실생활 관련 문제를 Object로 설계.  Ex)  Design a musical jukebox using object-oriented principles.  Design a parking lot using OOP.
  • 11. 시스템 설계  서비스나 플랫폼의 전반적인 설계.  실제 플랫폼과 같이 네트워크, DB, Indexing 등의 다양한 요소를 적재적소에 이용하여 설계.
  • 12. 시스템 설계 Ex)  Duplicate URLs: You have 10 billion URLs. How do you detect the duplicate documents?  Social Network: How would you design the data structures for a very large social network like FB or Linkedin? Describe how you would design an algorithm to show the shortest path between two people.
  • 13. OOP 설계 & 시스템 설계  정답은 없다.  끊임없이 요구 사항과 사양을 파악하는 것이 중요.  파악을 위해 끊임없는 질문과 커뮤니케이션이 중요.
  • 14. 알고리즘 + 자료구조  많은 사람들이 생각하는 그 부분.  이 부분도 역시 끊임없는 질문이 필요.  데이터 타입, 크기, 사용 가능한 메모리, 제약사항 등등..  다만, 이 부분은 어느정도의 정답은 존재.  복수의 답이 존재하는 경우는 물론 있음.
  • 15. 알고리즘 + 자료구조  프로그래밍 언어는 크게 상관없고 자신이 편한 것으로 쓰는 것이 보통.  특정 언어 개발자로 가는 경우를 제외하고는..  온사이트에서는 대부분 IDE사용 없이 화이트 보드 코딩.  따로 연습이 필요.
  • 17. 알고리즘 + 자료구조 범위는?  https://github.com/jwasham/coding-interview-university
  • 18. 알고리즘 + 자료구조. 필요한건?  Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice Practice
  • 19. 알고리즘 + 자료구조  여기까지는 사실 누구나 다 할 수 있는 원론적인 얘기.  저 Practice를 좀 더 효율적이고, 확률을 높일 수 있을까?  이 부분에 대해서 생각해보고자 하는 것이 오늘의 미션!  특히! 처음 준비하시거나, 시간이 얼마 안 남으신 분들.  Warning: 제가 찍은데서만 나온다고 하지는 않았습니다.
  • 20. 알고리즘 + 자료구조  이 쪽 파트는 사실 운칠기삼.  아무리 알고리즘을 빠삭하게 외워도, 낯선 문제가 나오면 쉽지 않음.  본인 스타일과 맞지 않는 문제라면 코딩에서 꼬일 가능성도 높음.  반대로 본인 취향대로 나오면 개꿀.
  • 21. In my opinion..  Big-O notation.  Data Structures  Array  Binary Search  Stack, Queue, Linked-lists, Hash table  Trees & Graphs  Heap, Binary Search Tree(Traverse-order), DFS, BFS  Sorting  Quick sort, Merge sort  Simple Dynamic programming
  • 22. In my opinion..  개념은 익혔다는 전제하에..  저 항목에 표시된 영역으로 풀리는 문제부터 풀어볼 것.  나머지 부분의 문제들은 일단 스킵.
  • 24. Big-O notation  Tip: 보통 온라인 대회에서의 입력치에 따른 기준  n <= 100000000: O(n)  n <= 100000 : O(nlgn)  n <= 10000: O(n^2)  n <= 100: O(n ^ 3)  n <= 20: O(2 ^ n)  저보다 느린 알고리즘은 보통 time-limit exceeded.
  • 25. Data structures  Heap or Quicksort  Ex) 정렬되지 않은 배열이 주어지면, 그 안에서 k번째로 큰 수 찾기.
  • 26. Data structures  Heap or Quicksort  Ex) 정렬되지 않은 배열이 주어지면, 그 안에서 k번째로 큰 수 찾기.  단일 스레드 기준 시간제한 1초.  0 < n <= 10000
  • 27. Data structures  Heap or Quicksort  Ex) 정렬되지 않은 배열이 주어지면, 그 안에서 k번째로 큰 수 찾기.  Max-Heap 만들어 놓고 k번 extract.  O(n + klgn)  Quicksort의 원리를 이용.  최악의 경우는 O(n ^2).  하지만 average로는 O(n) 기대 가능.
  • 28. Data structures  Stack & Queue  Ex) 두 개의 Stack이 주어졌을 때, 이를 이용하여 Queue를 구현하시오.
  • 29. Data structures  Binary Search Tree  Ex)
  • 30. Simple Dynamic progaramming  앞에 계산된 결과를 이용하여 다음 결과를 도출.  다음 요소가 중요.  어떤 구조를 사용하고 정의할 것인가?  1 차원, 2차원, 3차원 배열중..  초기화  어느 원소를 참조하고 계산하는가가 중요.  몇 가지 패턴 외워서 때려 넣어보는 것을 추천.
  • 31. Simple Dynamic progaramming  Longest Increasing Sequence.  1차원 배열.  Longest Common Sequence.  2차원 배열.
  • 34. 참고  Cracking the coding interview.  Careercup: https://www.careercup.com/page?pid=google-interview- questions&n=2