[백준][2309] 일곱 난쟁이
이 포스트는 백준 사이트의 일곱 난쟁이 문제 풀이입니다. 문제 문제의 설명처럼 9명 중 7명을 선택하되 그 합이 100 이 되는 것을 출력해야 합니다. 따라서 9명 중 7명을 선택하는 모든 조합을 찾고 만약 7명의 합이 100이 될 경우, 즉시 값을 출력합니다. vector<int> height; void input_hei...
이 포스트는 백준 사이트의 일곱 난쟁이 문제 풀이입니다. 문제 문제의 설명처럼 9명 중 7명을 선택하되 그 합이 100 이 되는 것을 출력해야 합니다. 따라서 9명 중 7명을 선택하는 모든 조합을 찾고 만약 7명의 합이 100이 될 경우, 즉시 값을 출력합니다. vector<int> height; void input_hei...
C 언어는 데이터 원본에 접근하기 위해 포인터 를 사용합니다. 그러나 포인터는 몇 가지 위험성을 가지고 있기 때문에 이 위험성을 줄이고자 C++ 에서는 참조 를 사용합니다. 먼저 포인터의 위험성을 확인한 뒤 C++ 참조 연산자와 무엇이 다른지 확인해보겠습니다. 포인터 개념 짚고 가기 포인터는 메모리 주소 값 을 저장하는 변수입니다. 어떤 ...
코딩테스트 연습 - 디스크 컨트롤러 바로가기 문제 설명 문제 풀이 문제 설명처럼 작업은 100이 되었을 때, 완료되며 현재 작업이 완료되지 않으면 뒤에 작업은 100이 되어도 끝낼 수 없습니다. 따라서 현재까지 진행된 작업을 몇 번 더 진행해야 하는지 확인하고 그 횟수를 이용해 답을 구헀습니다. int JOB_COUNT; qu...
문제 제약 확인 총 스티커의 수가 2N 개일 때 N 의 범위가 \(1 <= N <= 100,000\) 이므로 최대 200,000 개가 입력될 수 있습니다. 따라서 시간 복잡도가 \(O(N)\) 이하의 알고리즘을 사용해야 합니다. 알고리즘 선택 스티커를 선택할 때, 각 선택은 작은 문제로 나누어 접근할 수 있습니다. 즉, a번...
이 포스트는 개발자북클럽 챌린지 후기입니다. 프로그래머로서 여러 알고리즘을과 새로운 기술을 배우는 것도 중요하지만 깨끗한 코드를 작성하는 것 또한 매우 중요하다고 생각합니다. 여러 명이 작성하는 코드는 읽기 편하고 깨끗하게 작성되어야 유지, 보수와 기능 추가에서도 문제가 없기 때문입니다. 그래서 제가 진행했던 프로젝트 코드를 깨끗하게 리팩토...
이 포스트는 개인 연구를 기록 글로 부정확할 수 있습니다. 문제의 코드 void PacketWorker::init_new_client_ticket() { int new_player_ticket = get_new_client_ticket(); // ... } int PacketWorker::get_new_client_ticket() { ...
코딩테스트 연습 - 디스크 컨트롤러 바로가기 문제 설명 문제 풀이 최대힙을 사용하는 우선순위 큐는 top 에 있는 원소를 꺼낼 때, O(1) 시간이 소요됨을 활용하고자 하였습니다. struct Comp { bool operator()(vector<int> lhs, vector<int> rhs) { ...
PCCP 모의고사 - 유전법칙 바로가기 문제 설명 진송이는 위 그림처럼 완두콩 자가 수분 실험을 진행하고자 합니다. 자가 수분한 완두콩은 4개의 자손을 남기게 됩니다. 잡종 완두콩(Rr)이 자가 수분하는 경우, 자손은 RR, Rr, Rr, rr 순서대로 남기고 순종 완두콩(RR, rr)이 자가 수분하는 경우, 자손은 부모와 같은 형질을...
이 포스트는 로버트 C.마틴의 Clean Code 속 10장(172p ~ 191p) 내용에 대한 정리입니다. “클래스를 설계할 때도, 함수와 마찬가지로, ‘작게’가 기본 규칙이라는 의미다.” (10장 172p) 작은 클래스 클래스는 깨끗한 함수처럼 물리적인 행 수로 크기를 제한하는 것이 아니라 함수가 한 가지 일을 잘 하는 것처럼 클래스...
라이브러리 란 코드를 작성할 때 재사용 가능한 코드의 모음을 말합니다. 라이브러리는 특정 작업을 수행하는 함수, 클래스, 값, 자료형을 포함할 수 있습니다. 프로그래머는 라이브러리를 사용해 깨끗한 코드를 효율적으로 작성할 수 있을 뿐만 아니라 모든 기능을 직접 구현할 필요가 없기 때문에 개발 시간도 단축할 수 있습니다. 라이브러리는 일반적으로 특...