알고리즘) a와 b의 대소 관계에 상관없이 사이의 모든 정수 합 구하기 이번에는 a와 b의 대소 관계에 상관없이 사이의 모든 정수 합 구하기를 한번 해보겠습니다. 우선 시작하기에 앞서, 1부터 10까지의 정수의 합을 구해보겠습니다. 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 이 경우의 답은 모두들 알다시피 55입니다. 이 방식을 while을 사용해서 코드화 해보자면, int n = 10; int i = 1; int sum = 0; while ( i 알고리즘 2020.01.13
알고리즘) 세 정수 중앙값 구하기 일반 세 정수의 중앙값 구하기 알고리즘입니다. 일반 세개의 정수를 나열한다고 가정했을 때, 나올수 있는 경우의 수를 결정 트리(decision tree)로 표현한다면 아래와 같이 표현할 수 있겠습니다. 여기서 세 정수를 a, b, c로 가정하겠습니다. 여기서는 자바로 표현됩니다. 수가 같을 경우를 가정한다면 경우의 수가 더 늘어나게 되죠. 이를 살펴보겠습니다. 어차피 수가 같다고 가정하더라도, 수는 나열될 수 밖에 없습니다. a와 b가 같다고 가정해도 어차피 중앙값만 돌려받기 때문에 a b c 나 b a c인 경우 중앙값은 같게 되는 것이죠. 이럴 경우 나올수 있는 경우의 수는 여섯가지가 됩니다. 이 경우에서, c를 기준에 따라 위치시켜봅시다. 1. a가 b보다 큰 경우 (a > b) a는 무조건 b보다.. 알고리즘 2020.01.08