![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/oVqEc/btriAd3lDL8/ka2xiLC2LKGsV0BRBsBYW0/img.png)
각각 견딜 수 있는 중량이 다른 로프들을 이용해서 들 수 있는 최대 무게를 구하는 문제 문제의 조건 1. N개의 밧줄이 주어진다. 2. 이 밧줄들은 각각 동일한 무게로 나눠서 한 물체를 들게 된다. 100kg 짜리 물체를 4개의 밧줄로 나눠 든다면 25kg씩 나눠 든다. 3. 모든 밧줄을 사용하지 않아도 되고 가장 많은 무게를 들 수 있는 밧줄 몇 개만 골라서 써도 된다. 4. 주어진 밧줄들을 이용해서 가장 많이 들 수 있는 무게를 출력하기 풀이 과정 처음에는 단순하게 밧줄 중 최솟값을 구해서 모든 밧줄의 갯수만큼 곱하면 되겠다고 생각했습니다. 하지만 실패 ㅠ.ㅠ 그러고 다시 생각해 보니까 1kg 짜리만 5개 있다가 100kg 짜리 하나 있으면 100kg 짜리 하나만 썼을 때 가장 많이 들 수 있으니까 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bkHTXl/btriB0BXZND/pcc99rvWXWdhuv3wRkxfw0/img.png)
거스름돈에 포함되는 잔돈의 갯수가 몇 개인지 구하는 문제 문제의 조건 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..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/b7RAWr/btriAqOGQK5/JMBWuymfemiHQpkYuTPW61/img.png)
세준이는 +, -와 괄호를 이용해서 식을 만들었는데 실컷 만들고 나서 괄호를 지워버렸다. 근데 세준이는 괄호를 다시 쳐서 이 식의 최솟값을 구하고 싶어짐... 괄호를 적당히 쳤을 때 얻을 수 있는 최솟값을 구하는 문제 문제의 조건 1. +와 -로 구성된 식이 문자열로 주어진다. 2. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 3. 두 개 이상 연속해서 연산자(+, -)가 나타나지 않으며 5자리보다 많이 연속되는 숫자도 없다. 4. 식에서 얻을 수 있는 최솟값을 구해서 출력 풀이 과정 처음 문제를 봤을 땐 풀이가 떠오르지 않아서 10분정도 고민하다가 질문 게시판을 봤습니다. 거기서 -를 만나면 그 이후로 나오는 숫자는 모두 뺀다는 말을 보고 풀이..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/HvVBK/btriA4qOSgu/ferzZtSTrgbT18XtAA11E0/img.png)
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의 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/nHOUn/btriuUVOVoT/IHDTAQfN1BvER2DpnMRAG0/img.png)
아주 전형적인... BFS로 최단 거리를 찾는 문제 문제의 조건 1. N x M 크기의 미로가 주어진다. 2. 미로의 [1, 1]에서부터 [N, M]까지 가는 최단 거리를 구해서 출력하기 => 미로 배열의 [0, 0]에서부터 [N-1, M-1]까지의 최단 거리를 구하면 된다. 풀이 과정 많이 보던 스타일이라 낯설진 않았고 BFS 알고리즘도 어느정도 익숙해서 금방 풀 수 있을 것이라 생각했지만... 여전히 백준 문제의 입력을 받는 것에 익숙하지 않았기 때문에 입력을 받는 과정에서도 착오가 있었고... 최단 거리를 구하는 식을 잘못 썼고... 등등의 이유로 오래 걸린 문제입니다. ㅠ.ㅠ 그래도 덕분에 이젠 확실하게 알겠습니다... 근데 문제에 입력되는 숫자가 붙어서 주어진다 이런 말 말고 string형 배열..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bOBRcO/btrisMxDY1I/gJ2NAmbl5v8SgGYW87hGD0/img.png)
회의실 한 개로 최대한 많은 회의를 하려고 한다. 각 회의가 겹치지 않으면서 최대한 많이 할 수 있는 회의 수를 찾는 문제 문제의 조건 1. 총 회의 갯수 N이 주어진다. 2. 다음 줄부터 각 회의의 시작 시간과 종료시간이 주어진다. 3. 가능한 회의의 최댓값 출력 풀이 과정 현재 진행 중인 회의의 종료 시간보다 다음 회의의 시작 시간이 같거나 크다면 정답 수에 포함시키는 방식으로 코드를 짰습니다. 하지만... 처음엔 예제의 답이 마치 정렬을 하지 않고 주어진 순서 그대로 푸는 것 처럼 보여서... 정렬을 하지 않은 상태로 위의 알고리즘을 적용했더니 틀림 ㅠ.ㅠ 예제를 보면 아시겠지만 정렬을 하지 않는다고 충분히 오해할 만한 내용이지 않나요???? 내가 아직 경험이 짧아서 그런 것인지..흑흑 암튼 또 질..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/phnlc/btripFlpW5q/GpWzWWBaJCUBJgu2zthSu1/img.png)
준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 문제의 조건 1. 준규가 가진 동전의 개수 N, 만들어야 하는 금액 K가 주어진다. 2. 둘째 줄부터 동전의 가치가 오름차순으로 주어지는데 i ≥ 2인 경우에 Ai는 Ai-1의 배수 풀이 과정 동전의 최솟값을 구해야 하니까 가지고 있는 금액 중 가장 큰 금액부터 빼 나가면 된다고 생각했습니다. 그래서 그렇게 금방 코드를 짜고 예제도 통과가 잘 되고 반례도 통과가 잘 됐는데도 계속 틀렸다고 하는 것입니다. ????? 모징...ㅠㅠ 또 한시간정도 게시판을 헤매다가 문제를 알게 되었습니다. 전 처음에 준규..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/sfjRW/btrioHaXU6O/ZYZzoq5HyxuhER1BfppmK1/img.png)
제목 그대로 DFS와 BFS로 그래프를 탐색한 결과를 출력하는 문제 문제의 조건 1. 주어진 그래프를 DFS와 BFS로 각각 탐색한 결과를 순서대로 출력하면 된다. 2. 단, 방문할 수 있는 정점의 개수가 여러 개면 정점의 수가 작은 것 부터 방문한다. 풀이 과정 처음에는 요즘 알고리즘을 공부하고 있는 책에 나와 있는 알고리즘을 썼는데... (대충 엣지 좌우 저장하는 구조체 만들고 전체 그래프를 구성하는 클래스를 만든 뒤 그렇게 만들어진 그래프 클래스를 이용해서 bfs와 dfs를 수행하는 내용 코드 길이가 A4 한 장 정도 됨) 알고 보니 모든 정점이 서로서로 연결되어 있다는 것을 전제로 한 알고리즘이라 이번 문제에는 맞지 않았습니다. 주륵 ㅠ.ㅠ 그리고 제게는 그것을 수정할 능력이 없었습니다...ㅋㅋㅋ..
- Total
- Today
- Yesterday
- 프로그래머스
- C언어기초
- 알고리즘
- 아이패드
- DFS
- 해커랭크
- 캐나다
- 너비우선탐색
- 컴퓨터
- c++
- 기초
- 프로그래밍
- 애플
- 깊이우선탐색
- 백준
- hackerrank
- 스위프트플레이그라운드
- BFS
- 코딩공부
- greedy
- 캐나다생활
- 컴퓨터사이언스
- 다이나믹프로그래밍
- 하드웨어
- 컴퓨터공부
- c언어
- 영어공부
- dp
- 문제풀이
- 그리디
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |