반응형

2023/02 48

g

[코딩 테스트] 소프티어(Softeer) 연습 문제 - 금고털이

코딩 테스트를 위한 소프티어(Softeer) 연습 문제 중 금고털이 문제를 풀어보았다. 연습 문제 - 금고털이 난이도 : level 2 정답률 : 33% https://softeer.ai/practice/info.do?idx=1&eid=395 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 해설 금고에 금속이 있다. 이 금속들을 배낭에 담는 문제이다. 배낭은 담을 수 있는 무게가 정해져 있고 각 금속들은 무게와 무게당 가격이 정해져 있다. 이때 배낭에 가능한 비싸게 배낭을 채우는 문제이다. 톱이 있어서 금속을 자를 수도 있다. 일단 N은 10^6 이므로 최소한 O(N^2) 보다는 적은 시간복잡도를 가지도록 구현해야 한다. 톱이 있다고 해서 경우의 수가 굉장히 많아..

g

[코딩 테스트] 소프티어(Softeer) 연습 문제 - A+B

코딩 테스트를 위한 소프티어(Softeer) 연습 문제 중 아주 간단한 문제인 A+B 문제를 풀어보았다. 연습 문제 - A + B 난이도 : level 1 정답률 : 90% https://softeer.ai/practice/info.do?idx=1&eid=362 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 해설 문제는 간단히 입력을 받고 출력하는 문제이다. 입출력을 연습하는 문제이다. 그냥 한번 테스트 삼아 풀어보는 문제라고 볼 수 있다. 제출한 코드는 아래와 같다. 코드 #include using namespace std; int main(int argc, char** argv) { int N, A, B; cin >> N; for (int i = 0; i <..

g

[Git] .gitignore를 설정해서 불필요한 파일 무시하기

우리가 git repository를 사용해서 commit 하고 push 하는 식으로 코드를 관리할 때, commit 하거나 push 하고 싶지 않은 파일이 있을 수 있다. 예를 들면 IDE에서 로컬에 파일을 생성해서 캐시 해두고 빌드나 각종 환경설정을 위해 사용하는 파일들 같은 경우는 사람마다 환경이 다를 수도 있고 또 사용하는 IDE가 다를 수도 있다. 이런 경우에는 git commit/push 하는 경우에 해당 파일들을 제거해서 commit/push 해야 한다. 한두 번이야 일일이 내가 제거하면 되지만 여러 번 반복되는 작업을 할 때에 굉장히 비효율적이고 불편하다. 그래서 필요한 파일이 바로. gitignore이다. . gitignore를 설정해서 불필요한 파일 무시하기 . gitignore는 파일명..

개발/Git 2023.02.06

g

[개발 환경] CMake 프로젝트에 Googletest 추가하기

Googletest를 사용하기 위해 여러 가지 방법이 있을 수 있다. 나는 VS Code로 셋업 한 CMake 프로젝트에 CMake 명령어를 통해 Googletest를 추가하는 것을 해보겠다. CMake 프로젝트에 Googletest 추가하기 Googletest를 CMake 프로젝트로 가져오기 테스트 작성 후 빌드하기 실행하기 Googletest를 CMake 프로젝트로 가져오기 Googletest를 CMake 프로젝트에서 빌드되게 만드는 것은 크게 2가지가 있을 수 있다. 첫 번째는 적당한 최신 버전을 다운로드해서 프로젝트 디렉터리에 포함한 뒤 함께 CMake로 빌드하고 추가하는 방법이 있다. 두 번째는 Fetch Content 기능을 통해 Goggletest의 repository로부터 당겨와서 빌드하는..

g

[개발 환경] 구글 테스트(googletest) 개념 및 예제

Goggletest의 개념에 대해서 알아보고 Goggle에서 제공하는 예제를 통해 Googletest의 활용법을 익혀보도록 한다. Googletest의 개념과 예제 Googletest란 Googletest 예제 Googletest란 https://github.com/google/googletest GitHub - google/googletest: GoogleTest - Google Testing and Mocking Framework GoogleTest - Google Testing and Mocking Framework. Contribute to google/googletest development by creating an account on GitHub. github.com 구글 테스트는 C/C++..

g

[Git] GitHub fork와 upstream을 활용한 안전한 Pull Request

GitHub fork와 원본 upstream을 활용하여 안전하게 sync 하고 pull request를 요청하는 방법에 대해서 알아보도록 하겠다. 오늘의 실습은 오픈소스 CMake를 fork하고 안전하게 반영하고 pull request를 요청하는 식으로 해보겠다. 물론 테스트로 하는 것이고 실제로 무언가 반영하는 것은 아니다. https://github.com/Kitware/CMake GitHub - Kitware/CMake: Mirror of CMake upstream repository Mirror of CMake upstream repository. Contribute to Kitware/CMake development by creating an account on GitHub. github.com..

개발/Git 2023.02.04

g

[Git] Rebase와 Merge의 차이 by Visualizing-git

Rebase와 Merge의 차이 by Visualizing-git Git에서 헷갈리는 개념 중 하나가 바로 Rebase와 Merge이다. 처음 Git을 접할 때 commit, push 정도는 쉽지만 branch들이 합쳐지는 과정에서 그래프도 복잡해지고 내 머리도 복잡해진다. branch를 어떻게 합치느냐에 따라 2가지 방식인 Rebase와 Merge가 존재하는데, 이 개념을 확실히 한다면 더 이상 Git이 복잡하게 느껴지지 않을 것이다. 나는 Visualizing git이라는 사이트를 활용해서 이 개념을 빠르게 이해할 수 있어서 Rebase와 Merge에 대해서 소개하면서 실습을 이 사이트로 진행해 볼 예정이다. https://git-school.github.io/visualizing-git/ Visua..

개발/Git 2023.02.02

g

[개발 환경] CMake 프로젝트 구성하기 - 다양한 변수들

CMake 프로젝트 구성하기 - 다양한 변수들 CMake는 다양한 변수들을 제공한다. 프로젝트를 구성할 때 해당 변수들을 잘 활용해서 명령어와 스크립트를 구성하면 효율적이고 유지보수에 좋은 프로젝트를 구성할 수 있다.수많은 명령어 중에서 자주 사용될 만한 것을 선정해 보았고 실제로 출력해 보면서 어떤 용도로 사용할지 생각해 보았다. 여러 카테고리로 나누어져 있고, 그 카테고리에 맞게 분류해서 정리해 본다. https://cmake.org/cmake/help/latest/manual/cmake-variables.7.html cmake-variables(7) — CMake 3.25.2 Documentation This page documents variables that are provided by CMak..

반응형