반응형

전체 글 229

g

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

코딩 테스트를 위한 소프티어(Softeer) 연습 문제 중 바이러스 문제를 풀어보았다. 연습 문제 - 바이러스 난이도 : level 2 정답률 : 30% https://softeer.ai/practice/info.do?idx=1&eid=362 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 해설 최초 K개의 바이러스가 초당 일정 배수 P로 증가하는데 N초 후에는 바이러스가 몇 개가 되는지에 대한 문제이다. 죽는 바이러스는 없으니 별로 어렵지 않은 문제이다. K, P가 10^8이고 N이 10^6이다. 여기서 주의할 점은 바이러스 개수를 1000000007으로 나눈 나머지로 표시하는 것이다. 단순히 mod 연산을 하면 되는데 괜히 어렵게 생각하다 보면 오히려 복잡해질..

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..

g

[개발 환경] 파이썬(Python) IDE PyCharm 소개 및 설치 방법

파이썬(Python) IDE PyCharm 소개 및 설치 방법 jetbrains에서 만든 파이썬(Python)용 통합 개발 환경 IDE PyCharm을 소개한다. 이전 포스팅에서 VS Code를 활용해서 Python 개발 환경을 세팅했었다. Python 특성상 특별히 많은 세팅이 필요하지 않아서 VS Code를 사용해도 익숙하고 부가적인 플러그인도 많이 제공이 되어서 개인적으로 일반적인 개발자나 가벼운 용도를 위해서는 VS Code를 더 추천하는 편이다. 하지만 전용 IDE를 사용했을 때 그 편리함은 무시할 수 없다. Python을 위한 PyCharm에 한번 빠지면 그 편리함과 생산성에 더욱 빠져들게 될 것이다. 그래서 오늘은 PyCharm에 대해서 알아보고 설치 방법까지 알아본다. PyCharm 이란?..

개발/Python 2023.01.31
반응형