일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 힙한취미
- 웹개발종합반
- 알고리즘책추천
- 알고리즘
- 정렬알고리즘
- 리액트
- HTML
- 코드최적화
- 스파르타코딩
- 스파르톤
- 개발도서
- 이벤트맛집
- 자바스크립트
- 개발책추천
- 알고리즘책
- 누구나자료구조와알고리즘
- 코딩테스트
- 개발도서추천
- 코딩
- 자료구조책
- 평균온도구하기
- 자료구조
- 힙한취미코딩
- 알고리즘도서
- 알고리즘문제
- 짝수의평균구하기
- CSS
- 타입스크립트
- 스파르타코딩클럽
- 빅오표기법
- Today
- Total
목록알고리즘 (3)
Run with coding

✔️ 평균 섭씨 온도 구하기 💡 나는 일기 예보 소프트웨어를 개발 중이다. 도시의 온도를 알려면 도시에 퍼져 있는 수많은 온도계에서 온도를 읽어 그 온도들의 평균을 구해야 한다. 온도는 섭씨와 화씨 둘 다로 표시하고 싶으나 읽을 때는 화씨다. 섭씨 온도 평균을 구하기 위해 알고리즘은 두가지 일을 한다. 1. 화씨 온도를 섭씨로 변환한다. 2. 섭씨 온도의 평균을 계산한다. 위 코드의 단계 수(빅 오)는 N + N = 2N = O(N)이다. for문 하나가 원소의 개수 N만큼 순회하는 것이 2개가 있음으로 N + N인 것이다. 👉🏻 빅 오가 아직 이해가 안된다면 이 글을 읽어보자! 저번 '단어 생성기' 알고리즘 구현했을 때도 for문이 두 개였는데 빅 오가 O(N^2)이였다. 그때는 중첩 루프였기 때문에 ..

✔️ 들어가기 전.. O(N^2) : 알고리즘이 "느리다"로 간주한다. 👉🏻즉, 더 빠른 대안, 최적화할 방법이 있는지 분석하라는 신호다! 아래의 문제들은 모두 Javascript로 풀었으니 다른 언어를 원한다면 다른 글을 찾아보자.. ✔️ 짝수의 평균 구하기 💡 수 배열을 받아 모든 짝수의 평균을 반환하자. 위 코드의 최악의 경우 빅 오 : 3N + 3단계 = O(3N + 3) = O(N) 👉🏻 빅 오 표기법은 상수를 무시한다. 자세한 내용은 이 글을 확인해보자!
✔️빅 오가 무엇인가? 빅 오 = 원소가 N개일 때 몇 단계가 필요할까? 빅 오의 본질 빅 오는 데이터가 늘어날 때 단계가 어떻게 증가하는 지를 설명한다. 즉, 데이터가 늘어날 때 알고리즘 성능이 어떻게 바뀌는지 O(N) = 알고리즘에 N단계가 필요하다. N은 항상 상수 O(1) = 가장 빠른 알고리즘 단계 배열 읽기에는 딱 한 단계만 필요 O(1) VS O(N) 데이터가 증가할수록 O(N)이 O(1)보다 덜 효율적인 어떤 지점에 반드시 다다르게 됨 선형 검색의 효율성을 빅 오로 표기해보자! 찾고자 하는 항목이 첫 번째 있다면 : 최선의 시나리오 O(1) 찾고자 하는 항목이 마지막에 있다면 원소N개를 모두 검색해야 하기 때문에 : 최악의 시나리오 O(N) 별도로 명시하지 않는 한 빅 오 표기법은 최악의 ..