Skip to Content
똑똑한 코드 작성을 위한 실전 알고리즘
book

똑똑한 코드 작성을 위한 실전 알고리즘

by 조지 하이네만, 윤대석
May 2022
Beginner to intermediate
296 pages
5h 54m
Korean
Hanbit Media, Inc.
Content preview from 똑똑한 코드 작성을 위한 실전 알고리즘
23
1
문제 해결
최근
CPU
1
초에
수십억
개 명령을 실행할 수 있기 때문에, 알고리즘을 위한 기계 명령어가
수행된 총 횟수를 계산하기는 거의 불가능하다! 대신에 ‘배열 내 두 값이 서로 비교된 횟수’나
‘함수가 호출된 횟수’와 같이 각 알고리즘에서 주요 연산이 수행된 횟수를 계산하자.
max
()
서 주요 연산은 ‘미만 (
<
) 연산자가 호출된 횟수’다.
2
장에서 이 계산 원리를 확장할 것이다.
이제
max
()
알고리즘의 동작을 자세히 살펴보자.
1.2
리스트에서 가장 큰 값 찾기
[코드
1
-
1
]의 파이썬 구현에는 결함이 있다. 적어도 하나의 값을 가지는 리스트
A
에서 각 값을
my
_
max
와 비교하고 더 큰 값이 있으면
my
_
max
를 업데이트함으로써 가장 큰 값을 찾는다.
코드
1-1
리스트에서 가장 큰 값을 찾는 코드 - 결함이 있는 코드
def flawed(A):
my_max = 0
for v in A:
if my_max < v:
my_max = v
return my_max
my_max
는 최댓값을 가진 변수다. 이 예제에서는
0
으로 초기화한다.
for
루프에서
A
의 각 요소를 순회해 저장할 변수
v
를 정의한다.
if
문은 각
v
값에 대해 한 번 실행한다.
v
my_max
보다 크면
my_max
를 업데이트한다.
솔루션의 핵심은
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

데이터 익명화를 위한 파이프라인

데이터 익명화를 위한 파이프라인

루크 아버클, 칼리드 엘 에맘
개발 7년차, 매니저 1일차

개발 7년차, 매니저 1일차

권원상, 한민주, 카미유 푸르니에

Publisher Resources

ISBN: 9791162245644