본문 바로가기
R, Python

[C/C++/C#] 콘솔에서 글자 색 변경하기 (예시: KMP 알고리즘)

by 방구석 몽상가 2019. 11. 5.
2019-11-05-console-color-change

Visual studio에서 디버깅을 할 때 기본적으로 제공하는 디버깅 기능을 이용하지만, 중간 결과들을 출력해서 보는게 더 빠를 때가 많다. 이때 그냥 보면 헷갈리거나 난잡하게 보이는 경우가 많다. 그래서 변경된 부분만 다른 색상으로 출력하면 괜찮겠다 싶었다.

다음은 문자열 탐색 알고리즘인 KMP 알고리즘을 통해 찾은 것이 정확한지 보는 예시다.

KMP 알고리즘

위 KMP 함수는 찾은 문자열의 시작 위치 리스트를 반환한다.

글자 색상을 변경하여 출력 확인

위 코드에서 textcolor 함수가 텍스트 색상을 바꾸게 된다. 여기서 주의할 점은 일시적으로 바꾸는 것이 아니라 영구적으로 바꾸는 것이기 때문에 색상을 바꾸고자 했던 텍스트의 출력이 끝나면 다시 바꾸어주어야 한다. 그래서 위에처럼 pattern 길이만큼 출력하고 원래 색상으로 바꾸어주는 코드가 있어야 한다.

결과 화면

참고로 C#에서는 다음 코드로 아주 간단히 바꿀 수 있다. 그러나 위처럼 원래 색상으로 다시 바꾸는 코드는 있어야 한다.

 


댓글