오늘 학교 수업에서 선생님이 버블 정렬을 이용하면 사다리 모양을 만들 수 있다고 하셨다.
심심하기도 해서 한번 만들어보았다.
원래 C언어같은 것으로 Console 창에서
|-| | | |
| | |-| |
처럼 그리면서 사다리를 만들면 되는데,
나는 Unity가 제일 익숙해서 그냥 3D Cube로 사다리 모양을 얼추 만들었다.
| 원리
일정 개수의 난수를 배열에 받은 뒤, 버블 정렬을 실행한다.
// 난수 생성. count는 입력받자!
int[] randomArr = new int[count];
for(int i=0; i< randomArr.Length; i++)
{
randomArr[i] = Random.Range(1, 101);
}
// 버블 정렬
for (int i=randomArr.Length - 1; i > 0; i--)
{
for (int j=0; j<i; j++)
{
if(randomArr[j] > randomArr[j + 1])
{
int tmp = randomArr[j];
randomArr[j] = randomArr[j + 1];
randomArr[j + 1] = tmp;
// 결과 출력 함수 (내가 만든 함수)
printResult(randomArr);
}
}
}
Swap이 일어날 때마다 난수 배열을 출력해보았다.
출력 결과만 봐도 대충 감이 잡힐 지 모르겠지만, 이제 사다리를 그을 준비가 됐다.
배열을 출력하기 때문에, Swap할 때마다 위에서 아래로 한줄씩 사다리를 만들어간다.
숫자는 일단 사다리 세로 선을 긋는다.
Swap이 일어나면 그 Index에서 사다리 가로 선을 긋는다.
| 느낀점
정말 간단했지만, 이런 데서 쓰인다는 것에 충격받았다.
'기타 > Unity' 카테고리의 다른 글
[Unity Shader] Outline 외곽선 쉐이더 만들기 (3) | 2019.07.14 |
---|---|
[Unity Error] 안드로이드 빌드 시 Package Name has not been set up correctly (2) | 2019.07.11 |
[포스트 프로세싱 후처리] chromatic (1) | 2019.06.24 |
Sword Effect 수정 완료 (0) | 2019.03.15 |
Sword Effect 제작 (1) | 2019.03.13 |