728x90
반응형

BOJ/그리디 알고리즘 8

[C/C++] 백준 - 2885번 : 초콜릿 식사

https://www.acmicpc.net/problem/2885 2885번: 초콜릿 식사 학교 근처 편의점에 새 초콜릿이 들어왔다. 이 초콜릿은 막대 모양이고, 각 막대는 정사각형 N개로 이루어져 있다. 초콜릿의 크기(정사각형의 개수)는 항상 2의 제곱 형태이다. 즉, 1, 2, 4, 8, 16, ... www.acmicpc.net 문제 학교 근처 편의점에 새 초콜릿이 들어왔다. 이 초콜릿은 막대 모양이고, 각 막대는 정사각형 N개로 이루어져 있다. 초콜릿의 크기(정사각형의 개수)는 항상 2의 제곱 형태이다. 즉, 1, 2, 4, 8, 16, ...개의 정사각형으로 이루어져 있다. 상근이는 점심식사로 초콜릿을 먹는다. 이때, 적어도 K개 정사각형을 먹어야 남은 수업을 졸지 않고 버틸 수 있다. 상근이의..

[C/C++] 백준 - 12981번 : 공 포장하기

https://www.acmicpc.net/problem/12981 12981번: 공 포장하기 첫째 줄에 R, G, B가 주어진다. (1 ≤ R, G, B ≤ 100) www.acmicpc.net 문제 빨간 공 R개, 초록 공 G개, 파란 공 B개를 가지고 있다. 오늘은 이 공을 박스로 포장하려고 한다. 박스에는 공이 1개, 2개, 또는 3개 들어갈 수 있다. 박스에 들어가는 공의 색은 모두 다르거나, 모두 같아야 한다. 필요한 박스 개수의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 R, G, B가 주어진다. (1 ≤ R, G, B ≤ 100) 출력 첫째 줄에 필요한 박스 개수의 최솟값을 출력한다. 간만에 풀어보는 그리디 실4 문제인데 생각보다 오래 걸렸다. 맨날 해오던 알고리즘만 풀다가 다..

[C/C++] 백준 - 1374번 : 강의실

https://www.acmicpc.net/problem/1374 1374번: 강의실 첫째 줄에 강의의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 줄마다 세 개의 정수가 주어지는데, 순서대로 강의 번호, 강의 시작 시간, 강의 종료 시간을 의미한다. 강의 www.acmicpc.net 문제 N개의 강의가 있다. 우리는 모든 강의의 시작하는 시간과 끝나는 시간을 알고 있다. 이때, 우리는 최대한 적은 수의 강의실을 사용하여 모든 강의가 이루어지게 하고 싶다. 물론, 한 강의실에서는 동시에 2개 이상의 강의를 진행할 수 없고, 한 강의의 종료시간과 다른 강의의 시작시간이 겹치는 것은 상관없다. 필요한 최소 강의실의 수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에..

[C/C++] 백준 - 12782번 : 비트 우정지수

https://www.acmicpc.net/problem/12782 12782번: 비트 우정지수 진홍이는 숫자를 좋아한다. 오늘도 숫자를 가지고 놀던 진홍이는 두 숫자의 비트 우정지수를 구해보았다. 비트 우정지수란, 10진법으로 나타낸 두 정수를 이진수로 나타내었을 때, 두 숫자를 같 www.acmicpc.net 각 다른 비트를 최소한의 연산으로 같게 만드는 문제이다. 같은 자리에 비트가 같으면 고려하지 않고 다를 경우만 고려한다. 문자열 s1, s2의 각 자리 비트가 다를 때 그 형태가 0-1로 다른 경우와 1-0으로 다른 경우만 존재한다. 이러한 경우를 각각 모두 세어준다. 그럼 결국 최소한의 개수로 변환하기 위해서는 0-1과 1-0의 교환을 최대한 많이 해야하여 0->1, 1->0의 경우를 최소한으..

[C/C++ : JUNGOL] 1828번 : 냉장고

http://jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=1101&sca=3050 JUNGOL www.jungol.co.kr 1. 최소의 냉장고를 구하기 위해서는 겹치는 구간을 활용한다. 2. 1번의 겹치는 구간을 활용하기 위해서는 정렬이 필요한데, 가장 높은 온도를 기준으로 정렬한다. 3. 겹치는 구간을 초기화하면서 겹치는 구간이 있을 때는 가장 낮은 온도, 가장 높은 온도의 범위를 줄여나가며 초기화하고 겹치는 구간이 없다면 냉장고가 하나 더 필요하다. 이 때의 온도로 또 초기화해주는 방법으로 구현하였다. #include #include #include #include #include #include #include #include #include #includ..

[C/C++ : JUNGOL] 1816번 - 외양간

http://jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=1089&sca=3050 JUNGOL www.jungol.co.kr 1. 입력 받은 것들 정렬 2. 사이 거리 모두 구해준 후 내림차순 정렬 3. [사용 가능한 판자 개수 - 1]개를 위에서 정렬한 인덱스 위치로 자르기 -> 사이 거리가 큰 것을 순서대로 자른다는 의미 except) 만약 외양간 수보다 판자 개수가 더 크다면 외양간 수를 바로 반환해주면 된다. #include #include #include #include #include #include #include #include #include #include #include #define fastio ios::sync_with_stdio(false..

[C/C++] 백준 - 20300번 : 서강근육맨

https://www.acmicpc.net/problem/20300 20300번: 서강근육맨 PT 첫째 날에 $1$과 $4$를 선택하고, 둘째 날에 $2$와 $3$을 선택하고, 마지막 날에 $5$를 선택하면 $M$은 $5$가 되며, 이때가 $M$이 최소일 때이다. www.acmicpc.net 문제 로니 콜먼 동영상을 보고 보디빌더가 되기로 결심한 향빈이는 PT 상담을 받으러 서강헬스클럽에 갔다. 향빈이가 서강헬스클럽을 선택한 이유는 PT를 받을 때 사용하는 운동기구를 회원이 선택할 수 있다는 점 때문이다. 하지만, 서강헬스클럽은 항상 사람이 많아서 PT를 한 번 받을 때 운동기구를 최대 두 개까지만 선택할 수 있다. 헬스장에 있는 N$N$개의 운동기구를 한 번씩 사용해보고 싶은 향빈이는 PT를 받을 때마..

[C언어 / 백준 - 1026] 보물 (정렬)

www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 문제 옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다. 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A[0]×B[0] + ... + A[N-1]×B[N-1] S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안 된다. S의 최솟값을 출력하는 프로그램을 ..

728x90
반응형