더북(TheBook)

1.1 알고리즘

 

 

주가 스팬 문제의 해법을 작성하기 전에 중요 용어에 익숙해져야 한다. 알고리즘(algorithm)은 특별한 종류의 처리 절차이다. 알고리즘은 일련의 유한한 단계로 기술되고 유한 시간 내에 완료되어야 한다. 각 단계는 펜과 종이만으로 사람이 실행해 볼 수 있을 정도로 잘 정의되어야 한다. 알고리즘은 제공되는 입력 데이터를 기반으로 작업을 수행하고, 작업 수행 결과를 생성한다.

알고리즘 1-1은 앞서 설명한 주가 스팬 처리 절차를 기술한 것이다.

알고리즘 1-1 간단한 주가 스팬 알고리즘

SimpleStockSpan(quotes) → spans
  Input: quotes, n개의 주가를 담은 배열
  Output: spans, n개의 주가 스팬을 담은 배열
 
1 spans ← CreateArray(n)
2 for i ← 0 to n do
3     k ← 1 
4     span_end ← FALSE
5     while i - k ≥ 0 and not span_end do
6        if quotes[i - k] ≤ quotes[i] then 
7           k ← k + 1
8        else
9           span_end ← TRUE 
10    spans[i] ← k
11 return spans

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.