반응형

전체 글 241

g

[코딩 테스트] 소프티어(Softeer) 연습 문제 - 성적평가

코딩 테스트를 위한 소프티어(Softeer) 연습 문제 중 성적평가 문제를 풀어보았다. 소프티어에서 처음으로 풀어보는 level3이며 인증평가(5차) 기출문제여서 조금 시간을 들여서 풀어보았다. 연습 문제 - 성적평가 난이도 : level 3 정답률 : 37% https://softeer.ai/practice/info.do?idx=1&eid=1309 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 해설 N명 (10만)이 3개의 대회에 참가한다. 참가자들은 0~1000의 점수를 획득하고 동점이 있을 수도 있다. 이 점수를 통해 높은 점수부터 등수가 결정되고, 공동 순위도 나타난다. 만약 공동 1등이 나왔다면 그다음은 2등이 아니라 3등이 될 것이다. 문제에서는 "나..

g

[코딩 테스트] 소프티어(Softeer) 연습 문제 - 8단 변속기

코딩 테스트를 위한 소프티어(Softeer) 연습 문제 중 8단 변속기 문제를 풀어보았다. 연습 문제 - 8단 변속 난이도 : level 2 정답률 : 63% https://softeer.ai/practice/info.do?idx=1&eid=408 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 해설 8단 변속기 문제는 1부터 8까지의 숫자가 나열된 입력이 들어오면 ascending, descending, mixed 3가지의 결과를 출력하는 것이다. 1씩 증가하면 ascending, 1씩 감소하면 descending을, 일정하게 증가하거나 감소하지 않는 다면 mixed를 출력한다. 기본적인 문제로 판단되며, 효율적으로 조건식을 짤 수 있는지에 대한 문제인 것으로 ..

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
반응형