본문 바로가기

개발/Tip5

재귀함수 사용 시 코드 실행시간을 단축하는 방법 (C++) 재귀 문제를 풀면서 분명 같은 로직인데 실행시간이 많게는 10배이상 차이나는 것을 보았다. https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 14889번 문제는 N제한이 20이하이므로 순열을 사용하여 스타트팀과 링크팀으로 나눈다면 시간복잡도가 최대 20! = 2,432,902,008,176,640,000 이 되어버리기 때문에 재귀(백트래킹)를 사용하여 풀어야한다. void solve(vector a, vector b, int idx) { if (idx == n + 1.. 2023. 7. 14.
백준 + 프로그래머스 + SWEA 자동 커밋 익스텐션 백준허브 설치 https://chrome.google.com/webstore/detail/%EB%B0%B1%EC%A4%80%ED%97%88%EB%B8%8Cbaekjoonhub/ccammcjdkpgjmcpijpahlehmapgmphmk?hl=ko 백준허브(BaekjoonHub) Automatically integrate your BOJ submissions to GitHub chrome.google.com 사용법 https://github.com/BaekjoonHub/BaekjoonHub GitHub - BaekjoonHub/BaekjoonHub: 백준 자동 푸시 익스텐션(Auto Git Push for BOJ) 백준 자동 푸시 익스텐션(Auto Git Push for BOJ). Contribute to .. 2023. 7. 6.
vscode - code snippet 사용법 (C++) mac 기준 1. cmd + shift + p 입력 후 Snippets 검색 2. cpp.json 선택 3. cpp.json 편집 { "c++ codingtest template": { "prefix": "cpp-start", "body": [ "#include ", "", "using namespace std;", "typedef long long ll;", "", "int main(void) {", " ios_base::sync_with_stdio(0);", " cin.tie(0);", " cout.tie(NULL);", " ", " return 0;", "}" ], "description": "c++ codingtest template" }, "dx / dy": { "prefix": "dxdy", .. 2023. 3. 24.
C++ 문자열 Split 함수 #include using namespace std; vector split(string input, string delimiter) { vector ret; long long pos = 0; string token = ""; while ((pos = input.find(delimiter)) != string::npos) { token = input.substr(0, pos); ret.push_back(token); input.erase(0, pos + delimiter.length()); } ret.push_back(input); return ret; } 예시 #include using namespace std; typedef long long ll; vector split(string input, s.. 2023. 3. 24.
(mac) VScode - Code Runner 사용해서 .cpp 코드 실행하기 1. Code Runner 익스텐션 설치 2. settings.json 편집 "code-runner.executorMap": { ... "cpp": "cd $dir && clang++ -std=c++17 -O2 -Wno-unused-result $fileName -o a.out && $dira.out" ... } -std=c++17 -O2 -Wno-unused-result -> 프로그래머스 IDE에서 사용하는 컴파일 옵션 3. Code Runner 실행 ctrl + option + n 2023. 3. 16.