JSITCLUB
알고리즘 - 알고리즘 세우기 본문
알고리즘 이란 어떤 문제를 풀기 위한 방법 이라고 생각하면 됩니다.
알고리즘은 수학문제를 풀거나, 퍼즐을 풀때 뿐아니라 다양한 일상에서의 문제를 해결할때도 사용됩니다.
예를 들어, 우리가 편의점에서 물건을 사고, 세탁소에 가서 세탁물도 찾고, 도서관에 가서 책을 빌려야 한다면, 우리는 자신도 모르게 각자의 방법을 생각하고 결정하게 되는데, 그때 결정한 방법도 알고리즘이라고 할 수있습니다.
코딩에서도 알고리즘은 필요합니다. 하지만 우리는 코딩으로 문제를 풀어야 할때 무턱대고 키보드로 코딩을 시작하는 경우가 종종 있는데, 그보다는 먼저 어떻게 해결할지 생각하는것이 좋습니다.
다시말해 먼저 알고리즘을 만든후 코딩을 시작하는것 이죠.
방법을 정리하면 다음과 같습니다.
1. 문제해결 방법 정리 2. 정리된 방법을 단계로 나눔 3. 정리된 단계별로 코딩 |
[3,4,5,6,7,8]의 평균구하는 것을 예로 들어보겠습니다.
1 .
"값들을 모두 더하고 더한값을 값들의 갯수로 나눈다."
2.
1단계) 값들을 모두 더한다
2단계 )값들의 갯수로 1단계에서 구한 값을 나눈다.
3.
a=[3,4,5,6,7,8]
1단계 ) s=sum(a)
- 이때 모든 값을 어떻게 구할지 고민하고 결정 합니다.
- 반복문을 사용해서 구할지, sum()이라는 함수를 사용할지... 여러 방법중 상황에 맞는것을 결정합니다.
- 이때, 2단계의 작업은(갯수구하는 방법, 나누기 하는방법) 생각하지 않습니다.
2단계 ) avg=s/len(a)
- 만약 이때 값들의 갯수는 어떻게 구하는지, 나누기는 어떻게 해야 하는지 잘 모를때는 검색을 통해 찾아보고, 하나씩 문제 를 해결해 갑니다.
물론 이 방법이 완벽한것은 아니지만 아직 문제를 어떻게 코딩으로 풀어야 할지 시작 부터 익숙치 않은 분들에게는 도움이 될것으로 생각 됩니다. 이 방법이 점점 익숙해 지면, 문제해결 방법 정리 와 단계를 나누는 것은 머릿속으로 진행합니다.
'파이썬 > 알고리즘' 카테고리의 다른 글
알고리즘 - 최대값 구하기 (0) | 2020.07.11 |
---|---|
알고리즘 - 두 변수의 값 바꾸기 (0) | 2020.06.17 |