All

개발공부/개발

[algorithm] 시간 복잡도 계산 방법 + 표기법

효율적인 알고리즘을 짜기 위해선 런타임과 메모리 사용을 최소화시키는 것이 중요하다. 그 중 런타임, 즉 시간 복잡도를 계산하는 법을 먼저 알아보겠다. 표기법 시간복잡도 표기 방식에는 아래와 같이 세가지가 있다. 최상의 경우: 오메가 표기법 (Big-Ω Notation) 최악의 경우: 빅오표기법 (Big-O Notation) 평균의 경우: 세타 표기법 (Big-θ Notation) 일반적으로 가장 많이 사용되는 것은 빅오 표기법이다. 빅오 표기법은 계수와 낮은 차수의 항을 제외시키는 방법이다. (예, 2n²-2n+2 > O(n^2)로 표기) 빅오 표기법이 개발자들에게 중요한 이유는, 최악의 경우를 대비해서 알고리즘을 짜야하기 때문이다. 빅오 표기법에 가장 큰 영향을 미치는 것은 input의 개수이다. In..

Insights/휴학 일지

2년간의 휴학 회고 1편: 싱가포르 여행, 교환학생, 그리고 인턴

휴학? 지르자 왜 휴학했니? 라는 질문에 나는 다음과 같이 대답할 수 있다. 1. 데이터 사이언스 전공자지만 데이터 사이언스가 뭔지 몰랐다. 큰 문제였다. 선형대수? 자료구조? 내가 이걸 왜 배우는데?에 대한 답을 모르는 상태에서 학교 공부를 꾸역꾸역 따라가는 것은 의미가 없어보였다. 방향성을 잃으니 자연스레 흥미도 떨어지고 공부도 재미가 없었다. 그로 인한 자신감과 자존감 떡락.. 고등학생 때만 해도 파워 문과였기 때문에 코딩에 대한 기초가 너무 없었다. 그렇다면? 공부를 더 하고 다양한 경험을 쌓으며 개발 역량을 기르자!! 2. 망가져버린 건강과 멘탈 계속되는 타지 생활과 인간관계에서 오는 스트레스, 그리고 자기관리의 부재로 신체적, 정신적 건강을 모두 잃은 상태였다. 가장 건강해야 할 20대 초반에..

개발공부/algorithm

[프로그래머스][python] 프린터 - Stack/queue

문제 프로그래머스: 프린터 Level 2 Stack/Queue 문제링크 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 나의 접근 순환 stack 을 생각해서 풀었다. 1. 첫번째 인덱스는 고정 시키고 나머지의 리스트에서 더 큰 숫자가 있으면 해당 인덱스를 리스트의 가장 뒤로 보내준다. 2. 순환을 계속하며 첫 번째 인덱스가 가장 큰 숫자일 시, 스택에서 pop 시켜준다. Count를 증가시켜준다. 3. 모든 순환이 발생할 시, 내가 가지고 있는 문서의 인덱스 번호도 업데이트 해준다. 4. Stack이 빌 때까지..

so.py
'분류 전체보기' 카테고리의 글 목록 (13 Page)