알고리즘(Algorithm)3 최대 부분합 문제 Maximum Subarray 파헤치기 안녕하세요 블레이즈 테크노트 블레이즈 입니다. 여태까지 삽입 정렬과 합병 정렬에 대해서 살펴봤습니다. 특히 합병 정렬을 다루면서 Divide-Conquer (분할정복)에 대해서 다루었는데요, 이번에는 또 다른 Divide and Conquer (분할정복) 알고리즘인 최대 부분합 문제를 파헤쳐보도록 하겠습니다. 최대 부분합 문제는 주식 판매 수익을 최대화하는 문제로 설명할 수 있습니다. 주어진 기간동안 주식 가격이 있다면 언제 사서 언제 팔아야 할까요?? 당연히 가장 싼 날 주식을 사서 가장 비싼 날 팔아야 겠죠? 이를 최대 부분합 문제, Maximum Subarray Problem이라고 합니다. 위 그림을 보면 2일에 사서 5일에 팔면 될 것 같습니다. 그렇다면 이 문제를 어떻게 알고리즘화할 수 있을지 .. 2023. 10. 9. 알고리즘 합병정렬(MergeSort) 파헤치기 안녕하세요 블레이즈 테크노트 블레이즈 입니다. 생각해보니, 제가 여유를 좀 갖고 블로그 포스팅을 적는 날이 주로 일요일인 것 같아요. 그래서 여러분들도 하루를 마무리하면서 공부도 한 술 해보시면 어떨까요..? 하하 지난 포스트에서 삽입 정렬을 다루었습니다. https://blazetechnote.tistory.com/37 알고리즘의 정의와 삽입정렬 InsertionSort 안녕하세요 블레이즈 테크노트 블레이즈 입니다. 이번 포스트에서는 알고리즘에 대해서 공부해보고자 합니다. 알고리즘 Algorithm이란 무엇일까요? 제가 배운 바에 의하면 그 정의는 다음과 같습 blazetechnote.tistory.com 이번 포스트에서는 합병정렬 MergeSort를 다뤄보려고 합니다. 머지소트는 대표적인 Divide.. 2023. 9. 25. 알고리즘의 정의와 삽입정렬 InsertionSort 파헤치기 안녕하세요 블레이즈 테크노트 블레이즈 입니다. 이번 포스트에서는 알고리즘에 대해서 공부해보고자 합니다. 알고리즘 Algorithm이란 무엇일까요? 제가 배운 바에 의하면 그 정의는 다음과 같습니다. An Algorithm is a sequence of computational steps that transform the input into the output. 이를 보면 input과 output이 굉장히 중요하다는 것을 알 수 있습니다. 가장 대표적인 알고리즘이 sorting problem입니다. 이 sorting을 효율적으로 할 수 있기 때문에 컴퓨터가 단순히 계산기를 넘어 그 이상의 가치를 발휘하기 시작했다고 볼 수 있습니다. 이번 포스트에서 먼저 살펴볼 것은 삽입정렬 InsertionSort 입니다.. 2023. 9. 22. 이전 1 다음