본문 바로가기

알고리즘2

[VBA] 모래시계 알고리즘 최근에 같은 오픈챗방 크루인 VBA공부중님께서 알고리즘에 흠뻑 빠져있다. 본인의 2년전 모습을 보는거 같아 개인적으로 너무 흡족하다... 본인의 2년전보다 훨씬 빠르고 날카로운거 같다. 다른 언어도 좀 맛봐야 하는데 이렇게 후배들이 치고 올라오면 본인 역시 긴장하고 더 공부해야 한다는 강박이 생긴다. 본인 블로그에도 알고리즘 관련 글을 올리곤 했는데, 오늘 VBA공부중님께 자극받아 하나 올린다. 이런 알고리즘의 해법은 이렇다. 일단 모래시계 모양의 영역을 먼저 설정 후 번호는 순차적으로 For Each문으로 입히면 되는데, 1번부터 25번까지는 영역이 가운데를 기준으로 양쪽 하나씩 줄여나가야 하며, 24번 이후는 다시 양쪽 기준으로 +1씩 늘어간다. 시작점에서 다음 시작점은 현재 시작점.offset(1,.. 2022. 5. 18.
[VBA] 이진트리를 완성하시오 오랜만에 알고리즘 문제를 풀어보려고 한다. 물론 해당 영역같은 경우는 셀을 마우스로 찍어서 한번에 영역을 [이름정의]로 영역을 설정하고 이진트리 알고리즘을 해결해가면 된다. 이전에 풀어보았던 달팽이 알고리즘이나 여러 가지 알고리즘의 기본 베이스가 영역을 잡아가는 것이기 때문에 이번 이번 이진트리 알고리즘도 영역을 잡는 것부터 시작하였다. 값들을 가져오는 것을 육안으로 확인하기 위해 1초씩 딜레이를 주었다. 알고리즘 문제는 그 해결도 해결이지만 엑셀이 셀기반으로 어떻게 움직이는지 확인할 수 있는 좋은 문제이다. 본인의 완성된 코드를 단계별로 진행해 보면서 코드를 뜯어보길 바란다. 코드 사진 3개중 처음 사진 빼고 2번째와 3번째는 영역을 설정하는 부분이기 때문에 앞서 말했듯이 이름정의로 사전에 영역을 설정.. 2022. 4. 6.