본문 바로가기

분류 전체보기

(28)
c++ 10진법 진법 변환(string) 실무에서는 쓸 일이 없지만, 알고리즘 대회나 심심풀이 용으로 적합한 진법 변환. 기억 상기를 위해 예시 2개만 작성. 2진법 #include #include #include string BinarySystem(int num){ string make_base = ""; for(int i = num; i > 0; ){ make_base = to_string(i % 2) + make_base; i /= 2; } return make_base; } int main(){ //생략 return 0; } 3진법 #include #include #include string TernarySystem(int num){ string make_base = ""; for(int i = num; i > 0; ){ make_bas..
Github default branch를 master → main으로 변경하는 법 IT업계에서 용어가 변경되는 경우가 생기고 있다. "Black Lives Matter"시위와 관련이 있는데, 과거의 흑인과 백인의 인종차별적인 단어들이 쓰이고 있다고 하여, IT업계에서 이와 같은 용어들이 변경되고 있다. 대표적인 예로 whitelist와 blacklist가 각각 allowlist / denylist로 변경되었다. 이와 같이 github도 많은 프로그래머들의 요청으로, master가 main으로 변경하는 것을 결정하였다. 기존의 master를 사용하는 도중 main으로 변경하는 법 #원격으로 repository를 연결한다. git remote add origin [URL] #local branch master를 main으로 변경한다. git branch -m master main #변경한..
Windows10 Bing검색 해제(웹 결과 보기 해제) Win + S 키를 활용해서 원하는 프로그램을 찾는 용도로 자주 사용한다. 문제는 급할 때 발생한다. 오타나 검색순위에 밀려서 내가 원하는 프로그램이 실행되지 않고, Bing검색을 실행시킨다. 그렇게 삐끗하고 나면, Bing검색창을 끄는데 시간이 들고, 여간 귀찮은게 아니다. 언젠가 한번쯤 없애버린다 없애버린다 했는데, 미루다가 결국 짜증나 없애버렸다. 문제점 해결 version은 19041에서 진행했다. bing검색을 enable시키려면 레지스트리를 수정해야한다. *수정해야 할 레지스트리 경로 \HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Search CortanaConsent의 값이 1로 되어 있는 경우 0으로 변경해준다. (Cortana..
C++ and 비트연산을 이용한 홀수, 짝수 판별 일반적으로 홀수, 짝수를 구한다고 하면 조건문을 사용해서 나머지를 확인할 것이다. #include int main(){ int test = 1234; if(test % 2 == 0){ std::cout
C++ 입출력 속도 증가(알고리즘 대회) 일반적으로 std::cin 과 std::cout 의 속도가 C언어의 scanf(), printf()보다 느리다는 것은 모두가 알고 있는 사실이다. 다만 C언어로 이용하든, C++로 이용하든 scanf()와 printf()함수는 잘 사용하지 않는 다는 것이다. 여러 이유가 있지만, 가장 큰 이유들은 보안상의 이유거나, 문자열을 다루는데 불편함이 많아 잘 사용하지 않는다. 그래서 std::cin과 std::cout 사용을 포기하지 않고, 입출력 속도를 높일 방법을 정리한다. (단, 이 방법도 Race Condition이 발생할 수 있으므로, Test용도나 알고리즘 대회 등 실무와는 관계가 없는 상황에서 사용하는 것을 권한다.) 추가적으로 빠른 입출력에 대해서 알고 싶다면, c++ fast i/o로 검색하면 ..
C++ max_element(), min_element() 최대값, 최소값 array, list, vector 등의 객체 에서 최대값, 최소값을 구하는 일이 생각 보다 많다. 다만 최대값, 최소값을 구하기 위해서 코드를 얼마나 작성하느냐의 차이가 있다. C++에서는 이 기능을 #include 에서 제공한다. max_element()나 min_element()는 둘다 모든 요소에 접근을 해야 하기 때문에, 모든 STL 컨테이너에 대해서 선형으로 동작한다. 즉 시간 복잡도가 O(n)이다. template ForwardIterator max_element (ForwardIterator first, ForwardIterator last); template ForwardIterator max_element (ForwardIterator first, ForwardIterator last,..
python libcst 사용법 - CST, AST, 컴파일러, 인터프리터 python에서는 ast 모듈을 기본적으로 제공한다. AST(Abstract Syntax Tree)와 CST(는 주로 컴파일러(Compiler) 및 구문 분석기(paser)에서 사용되는 용어이다. CST는 문법을 tree 형식으로 바꾼 것이고, 이를 축약해서 데이터 구조로 표현한 것이 AST이다. 그러다 보니 AST는 손실이 발생하기 때문에, 원래의 소스코드를 얻을 수가 없다. CST의 경우 python에서 2to3, lib2to3, black등을 사용하는데, 최근 인터넷을 찾아보면서 libcst를 사용한 문제를 발견했다. python으로 짜여진 .py파일에 대해서 libcst를 사용하면, 소스코드에 대해서 tree형식으로 변환시킨다. 아래의 경우 import math를 tree형식으로 표현한 것이다. ..
프로그래밍 경험 및 객체지향 기술 능력에 대하여 보호되어 있는 글입니다.