
진영 주식회사의 신입 사원 선발을 도와주는 문제 문제의 조건 1. 진영 주식회사는 신입 사원 지원자들의 서류 점수와 면접 점수를 매겼다. 2. 진영 주식회사에서 신입 사원을 선발하는 기준은 어떤 지원자가 다른 지원자보다 적어도 한 가지는 더 높은 순위를 받아야 한다는 것이다. 서류 점수라도 더 높던가 면접 점수라도 더 높던가 그렇지 않고 둘 다 다른 지원자보다 낮으면 탈락 3. 테스트 케이스가 여러 개 주어질 때 각 케이스별로 최대한 많이 선발할 수 있는 신입 사원의 수를 구해서 출력하기 풀이 과정 처음엔 서류 점수를 기준으로 오름차순 정렬을 하면 되겠다 까지는 생각을 했는데 그 뒤로 비교 조건을 어떻게 해야할 지 감이 잘 안 와서 힌트를 봤습니다. 과정 1. 지원자들의 점수를 pair 구조체를 이용해서..

각각 견딜 수 있는 중량이 다른 로프들을 이용해서 들 수 있는 최대 무게를 구하는 문제 문제의 조건 1. N개의 밧줄이 주어진다. 2. 이 밧줄들은 각각 동일한 무게로 나눠서 한 물체를 들게 된다. 100kg 짜리 물체를 4개의 밧줄로 나눠 든다면 25kg씩 나눠 든다. 3. 모든 밧줄을 사용하지 않아도 되고 가장 많은 무게를 들 수 있는 밧줄 몇 개만 골라서 써도 된다. 4. 주어진 밧줄들을 이용해서 가장 많이 들 수 있는 무게를 출력하기 풀이 과정 처음에는 단순하게 밧줄 중 최솟값을 구해서 모든 밧줄의 갯수만큼 곱하면 되겠다고 생각했습니다. 하지만 실패 ㅠ.ㅠ 그러고 다시 생각해 보니까 1kg 짜리만 5개 있다가 100kg 짜리 하나 있으면 100kg 짜리 하나만 썼을 때 가장 많이 들 수 있으니까 ..

거스름돈에 포함되는 잔돈의 갯수가 몇 개인지 구하는 문제 문제의 조건 1. 1원 이상 1000원 미만의 지불해야 하는 금액이 주어진다. 2. 잔돈의 종류는 500, 100, 50, 10, 5, 1원이 있다. 2. 1000원 짜리를 냈을 때 받을 거스름돈에서 각 잔돈을 몇 개를 써서 받으면 최소로 받는지 구해서 출력 풀이 과정 앞서 풀었던 몇 문제와 비슷하게 남은 돈에서 가능한 가장 큰 액수의 잔돈을 먼저 뺀 다음에 그 다음 작은 액수의 잔돈과 비교해서 또 빼고 하는 방식으로 잔돈의 갯수를 구했습니다. #include #include using namespace std; int main(int argc, const char * argv[]) { int N; cin >> N; vector changes{50..

세준이는 +, -와 괄호를 이용해서 식을 만들었는데 실컷 만들고 나서 괄호를 지워버렸다. 근데 세준이는 괄호를 다시 쳐서 이 식의 최솟값을 구하고 싶어짐... 괄호를 적당히 쳤을 때 얻을 수 있는 최솟값을 구하는 문제 문제의 조건 1. +와 -로 구성된 식이 문자열로 주어진다. 2. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 3. 두 개 이상 연속해서 연산자(+, -)가 나타나지 않으며 5자리보다 많이 연속되는 숫자도 없다. 4. 식에서 얻을 수 있는 최솟값을 구해서 출력 풀이 과정 처음 문제를 봤을 땐 풀이가 떠오르지 않아서 10분정도 고민하다가 질문 게시판을 봤습니다. 거기서 -를 만나면 그 이후로 나오는 숫자는 모두 뺀다는 말을 보고 풀이..

S = A[0] × B[0] + ... + A[N-1] × B[N-1] 위와 같이 정의된 함수 S가 주어진다. A와 B 배열이 주어질 때 S의 최솟값을 구하는 문제 문제의 조건 1. 두 배열의 길이 N이 주어진다. 2. N은 50보다 작거나 같은 자연수이고 A, B의 각 원소는 0보다 크거나 같고 100보다 작거나 같은 양의 정수이다. 3. B는 정렬하면 안 되고 A만 정렬해서 S의 최솟값을 구해서 출력하기 풀이 과정 처음 문제를 읽었을 땐 A 배열을 정렬해서 풀어야 할 것 같지만 예제를 자세히 보면 정렬할 필요가 없다는 것을 알 수 있습니다. A의 첫번째 최솟값과 B의 첫번째 최댓값을 곱한 값에다 A의 두번째 최솟값과 B의 두번째 최대값을 곱해서 첫번째로 구한 값에 더해주고 A의 세번째 최솟값과 B의 ..

회의실 한 개로 최대한 많은 회의를 하려고 한다. 각 회의가 겹치지 않으면서 최대한 많이 할 수 있는 회의 수를 찾는 문제 문제의 조건 1. 총 회의 갯수 N이 주어진다. 2. 다음 줄부터 각 회의의 시작 시간과 종료시간이 주어진다. 3. 가능한 회의의 최댓값 출력 풀이 과정 현재 진행 중인 회의의 종료 시간보다 다음 회의의 시작 시간이 같거나 크다면 정답 수에 포함시키는 방식으로 코드를 짰습니다. 하지만... 처음엔 예제의 답이 마치 정렬을 하지 않고 주어진 순서 그대로 푸는 것 처럼 보여서... 정렬을 하지 않은 상태로 위의 알고리즘을 적용했더니 틀림 ㅠ.ㅠ 예제를 보면 아시겠지만 정렬을 하지 않는다고 충분히 오해할 만한 내용이지 않나요???? 내가 아직 경험이 짧아서 그런 것인지..흑흑 암튼 또 질..

준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 문제의 조건 1. 준규가 가진 동전의 개수 N, 만들어야 하는 금액 K가 주어진다. 2. 둘째 줄부터 동전의 가치가 오름차순으로 주어지는데 i ≥ 2인 경우에 Ai는 Ai-1의 배수 풀이 과정 동전의 최솟값을 구해야 하니까 가지고 있는 금액 중 가장 큰 금액부터 빼 나가면 된다고 생각했습니다. 그래서 그렇게 금방 코드를 짜고 예제도 통과가 잘 되고 반례도 통과가 잘 됐는데도 계속 틀렸다고 하는 것입니다. ????? 모징...ㅠㅠ 또 한시간정도 게시판을 헤매다가 문제를 알게 되었습니다. 전 처음에 준규..

ATM이 한 대 밖에 없는 은행에서 N명의 사람들이 차례대로 줄을 서서 돈을 뽑을 때, 모든 사람들이 돈을 뽑는데 걸리는 시간의 최솟값을 구하는 문제 문제의 조건 1. 돈을 뽑으려는 사람들의 수 N, N명의 사람들이 각각 돈을 뽑는데 걸리는 시간을 나타낸 배열이 주어짐 (둘째 줄에 주어지는 것이라 실제로는 반복문 돌리면서 배열에 값 입력받기) 2. 사람들이 각각 걸리는 시간은 다 다른데 사람들이 뽑는 순서에 따라 최종적으로 걸리는 시간의 합계가 달라진다. 3. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다. 2번 사람은 1번 사람이 돈을 ..
- Total
- Today
- Yesterday
- BFS
- C언어기초
- 그리디
- 알고리즘
- 하드웨어
- 캐나다생활
- c언어
- 해커랭크
- 프로그래밍
- 컴퓨터공부
- dp
- 컴퓨터사이언스
- 다이나믹프로그래밍
- 문제풀이
- 스위프트플레이그라운드
- 기초
- hackerrank
- 너비우선탐색
- 프로그래머스
- 애플
- 컴퓨터
- 코딩공부
- 깊이우선탐색
- 캐나다
- c++
- DFS
- 영어공부
- 백준
- 아이패드
- greedy
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |