{"id":20703416,"url":"https://github.com/doorcs/algorithm","last_synced_at":"2025-03-11T04:28:08.185Z","repository":{"id":219239786,"uuid":"748532661","full_name":"doorcs/Algorithm","owner":"doorcs","description":"Baekjoon Online Judge \u0026\u0026 LeetCode \u0026\u0026 Programmers","archived":false,"fork":false,"pushed_at":"2024-10-29T10:59:07.000Z","size":382,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-29T12:48:36.373Z","etag":null,"topics":["cpp","cpp17","cpp20","problem-solving"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/doorcs.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-26T07:27:22.000Z","updated_at":"2024-10-29T10:59:10.000Z","dependencies_parsed_at":"2024-11-05T13:21:59.733Z","dependency_job_id":"88fbe7d0-0c60-42fa-92c4-58a3f062048c","html_url":"https://github.com/doorcs/Algorithm","commit_stats":null,"previous_names":["doorcs/algorithm"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doorcs%2FAlgorithm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doorcs%2FAlgorithm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doorcs%2FAlgorithm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doorcs%2FAlgorithm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/doorcs","download_url":"https://codeload.github.com/doorcs/Algorithm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242969841,"owners_count":20214720,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","cpp17","cpp20","problem-solving"],"created_at":"2024-11-17T01:07:46.512Z","updated_at":"2025-03-11T04:28:08.144Z","avatar_url":"https://github.com/doorcs.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdetails\u003e\n  \u003csummary\u003e언젠가 고쳤던 좋지 않은 습관들 ( toggle )\u003c/summary\u003e\u003cbr\u003e\n\n  - 줄바꿈이 필요할 땐 `std::endl` 대신 `'\\n'` 쓰기\n  - `std::cin.tie(nullptr)-\u003eios_base::sync_with_stdio(false);` 처럼 쓰지 말고 분리해서 쓰기\n\n      \u003e `cin.tie(nullptr);`  \n      \u003e `cout.tie(nullptr);`  \n      \u003e `ios_base::sync_with_stdio(false);` \n  - `for`, `while` 같은 제어문 키워드와 조건식 괄호 사이는 한 칸 띄우기\n\n      \u003e `for(;;)` // bad\n      \u003e \u003c!-- 이럴땐 한 칸만 띄워도 줄바꿈 가능! --\u003e\n      \u003e `for (;;)` // good!\n  - `if`, `else if`, `else` 구문 정렬하기 - `closing brace on new line, else on same line`\n\n      \u003e if (cond) {  \n      \u003e \n      \u003e \u003cins\u003e`} else if (cond) {` \u003c/ins\u003e// good!  \n      \u003e \n      \u003e } else {}\n\u003c/details\u003e\n\n- - -\n\n\u003c!--\n\n다른 사람들의 코드를 읽고 이해하는게 상상 이상으로 힘든 일이라는걸 느꼈다.\n같은 일을 하는 코드라도 읽기 편하게 작성하려 노력하자!!\n\n--\u003e\n\n- 2024.05 - 구글 C++ 스타일가이드를 따르려 노력하되, 의도적으로 무시할 부분들을 정하기 ( 문제 해결에 초점을 맞추기 )\n  \n  - 네임스페이스를 전부 가져오는 것을 권장하지 않지만, 코드 작성 편의성을 위해 `using namespace std;` 쓰기\n  - 여러 문장을 한 줄에 작성하는 것을 권장하지 않지만, `int N; cin \u003e\u003e N;` 정도는 한줄로 작성하기\n- 2024.06 - 전처리문과 다른 코드들 사이를 한 줄 띄우기, indentation을 `4 spaces` 에서 `2 spaces` 로 줄이기\n- 2024.07 - 클래스의 `operator\u003c` 에는 반드시 \u003cins\u003e***const***\u003c/ins\u003e 붙여주기, `std::stack` 대신 `std::vector` 쓰기 ( 더 편하다! )\n  \n  - bool operator\u003c(const ~~*Classname*~~\u0026 other) \u003cins\u003e***const***\u003c/ins\u003e { \u003c!-- 일반적으로 \u003cu\u003e\u003c/u\u003e 처럼 u 태그 활용을 권장하지만, 깃허브에서는 `ins`태그를 통한 밑줄만 지원 --\u003e\n  - `stk.push() == vec.push_back()` | `stk.pop() == vec.pop_back()` | `stk.top() == vec.back()`\n- 2024.08 - 숫자가 조금이라도 커질 것 같으면 long long 자료형 사용하기!!! *( `using ll = long long;` )*\n\u003c!-- ll 사용을 생활화하기! --\u003e\n- 2024.09 - `std::deque`를 사용할 때, 실제로 reverse 연산을 수행하는 대신 `flag` 쓰기\n  \n  - ~~reverse(dq.begin(), dq.end());~~ // bad\n  - `bool rev = true;` // good!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoorcs%2Falgorithm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdoorcs%2Falgorithm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoorcs%2Falgorithm/lists"}