728x90
[알고리즘이란?]
어떤 문제의 해결을 위하여, 입력된 자료를 토대로 하여 원하는 출력을 유도하여 내는 규칙의 집합.
여러 단계의 유한 집합으로 구성되는데, 각 단계는 하나 또는 그 이상의 연산을 필요로 한다.
[표준국어대사전]
-> 어떤 문제가 있을 때, 그것을 해결하기 위한 여러 동작들의 모임
하나의 문제를 풀기 위해서는 다양한 방법이 있을 수 있다
[최댓값 찾기]
다음과 같이 숫자로 이루어진 배열이 있을 때, 이 배열 내에서 가장 큰 수를 반환하시오.
방법 1)
각 숫자마다 모든 다른 숫자와 비교해서 최대값인지 확인한다.
만약 다른 모든 값보다 크면 반복문을 중단한다.
ex) [3, 5, 6, 1, 2, 4]
3 VS 3, 5, 6, 1, 2, 4
-> 3 vs 3, 3 vs 5, 3 vs 6, ...
5 VS 3, 5, 6, 1, 2, 4
-> 5 vs 3, 5 vs 5, 5 vs 6, ...
...
input = [3, 5, 6, 1, 2, 4]
def find_max_num(array):
for num in array:
for compare_num in array:
if num < compare_num:
break
else:
return num
result = find_max_num(input)
print(result)
#6
방법2)
배열 내에서 가장 큰 수를 찾는다.
가장 큰 수를 저장할 변수를 만들고, 배열을 돌아가면서 그 변수와 비교한다.
만약 값이 더 크다면, 그 변수에 대입해준다.
input = [3, 5, 6, 1, 2, 4]
def find_max_num(array):
max_num = array[0] #초기값 설정
for num in array:
if num > max_num:
max_num = num
return max_num
result = find_max_num(input)
print(result)
#6
'알고리즘' 카테고리의 다른 글
알고리즘 더 풀어보기 (1) (0) | 2021.08.17 |
---|---|
점근 표기법 (0) | 2021.08.15 |
공간 복잡도 판단하기 (0) | 2021.08.13 |
시간 복잡도 판단하기 (0) | 2021.08.11 |
알고리즘과 친해지기 - 최빈값 찾기 (0) | 2021.08.10 |