본문 바로가기

엑사남180

[VBA_재귀함수] 모든 경우의 수 순열구하기 VBA를 배우는 것중 또 하나는 알고리즘을 하나둘씩 배워가는 즐거움이 있다. 최근에 가장 좋아하는 알고리즘으로는 재귀문인데 문제를 접할 때마다 풀기 싫지만 풀면 뿌듯한 뭐 이런 이상한 기분을 주는 녀석이다. 이걸 풀기 위해서 알고리즘 관련한 사이트와 블로그를 열심히 찾아본 결과 드디어 이해를 하였기에 코드를 올린다. 재귀함수는 호출을 하기전으로 돌아오기 때문에 종료구문을 넣어주지 않으면 무한 루프에 빠질 수가 있다. 본 알고리즘은 공백과 문자가 있는 두개의 영역에서 처음 문자가 있는 영역에서 문자가 없는 영역으로 자리를 바꿔준 다음 더이상 바꿔줄 문자가 없으면 다시 처음으로 돌아와서 문자가 없는 영역과 문자가 있는 영역으로 회기해서 위치를 바꿔주는 것이 관건이다. 이건 말로 풀기에는 한계가 있고 [F8].. 2021. 8. 17.
[VBA_STRCONV] 문자열 함수 오늘은 StrConv에 대해서 이야기를 해보려고 한다. 문자열을 재가공하거나 문자열 내에서 어떤 값을 찾거나 할때 가장 많이 쓰는 함수는 MID 함수나 INSTR함수이다. 또한 찾고자 하는 값이 문자열 내에 존재하는지도 알아보기 위해서도 쉽게 많이 사용되며 더 나아가 웹크롤링을 할때에도 많이 사용하게 된다. 개인적으로 문자열 함수를 자유자재로 사용하기 위해서 개인적으로 공부를 좀 했던것 같다. VBA 사용 목적이 결국 반복되는 엑셀의 피곤함을 줄이기 위함인지라 크게 반복문과 조건문 안에서 얼마나 효율적으로 원하는 결과를 가져오는냐가 잘만든 프로그램이라고 생각하기에 반복문 역시도 두세번 넘어가는 구문에 대해서는 체질적으로 경기(?)를 일으키는 편이라 또 다른 쾌락(?)을 느끼는 함수나 구문을 추구한다. S.. 2021. 8. 17.
[VBA_재귀함수] 모든 조합 나열하기 재귀함수로 [구구단] 만들기도 그렇고 [모든 조합 나열하기]도 그렇고 재귀함수를 적용하기에는 적당한 예제가 아닌것 같네요. 재귀적 사고가 아직은 제길 수준인듯 다음 주 월요일까지는 주석없이 시간 날때 마다 적은 후 블로그를 올려야 겠네요...부모님댁에 와서 여러가지로 코드 짜기가 불편해서...간만에 우리 엄마한테 어리광 좀 부려야겠어요 2021. 8. 13.
[VBA_재귀함수] 구구단 만들기 재귀함수는 처음 이해하기에는 어렵지만 막상 이해하면 코드를 엄청 줄일 수 있다. 프로그래밍 언어를 처음 배우면 늘 하는 구구단을 재귀함수로 만들어 보았다. 재귀함수는 프로시저안에서 자기 스스로를 또 불러내는 함수여서 재귀함수이다. 재귀 함수가 종료되면 재귀함수를 불러내기 전 값으로 계속적으로 회기 하기 때문에 재귀 함수의 종료 부분을 생각지 않고 구문을 작성하다 보면 무한 루프에 빠질 수 있다. 이번 구구단 구문은 눈으로만 따라가도 풀 수 있는 문제지만 좀 더 심도깊은 문제들은 재귀 함수의 회기 되는 값까지 생각하며 코드를 작성하여야 한다. 2021. 8. 12.