백준 1700번: 멀티탭 스케줄링
·
c++/백준
문제 링크 : https://www.acmicpc.net/problem/1700 1700번: 멀티탭 스케줄링 기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전기용품의 플러그를 뺐다 꽂았다 하는 불편함을 겪고 있다. 그래서 준규는 자신의 생활 패턴을 분석하여, 자기가 사용하고 있는 전기용품의 사용순서를 알아내었고, 이를 기반으로 플러그를 빼는 횟수를 최소화하는 방법을 고안하여 보다 쾌적한 생활환경을 만들려고 한다. 예를 들어 www.acmicpc.net 문제 설명 멀티탭 구멍의 개수와 전기용품의 총 사용횟수가 주어지고 전기용품 이름이 사용순서대로 주어짐 이때 멀티탭에서..
백준 1003번 : 피보나치 함수
·
c++/백준
문제 링크 : https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 문제 설명 피보나치함수에서 0과 1을 호출하는 횟수를 출력 하면됨 알고리즘 정답비율이 20%대인데 이해불가 0과 1을 호출하는 횟수도 피보나치 수열을 이루기때문이다 . 피보나치처럼 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 #include using namespace std;..
백준 2573번: 빙산
·
c++/백준
문제 링크 : https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 나타내는 M개의 정수가 한 개의 빈 칸을 사이에 두고 주어진다. 각 칸에 들어가는 값은 0 이상 10 이하이다. 배열에서 빙산이 차지하는 칸의 개수, 즉, 1 이상의 정수가 들어가는 칸의 개수는 10,000 개 이하이다. 배열의 첫 번째 행과 열, 마지 www.acmicpc.net 문제 설명 1. map 이 주어지고 map 에서 자연수로 빙산의 크기가 주어진다 (0이면 물인거임) 2. 빙산은 1년마다 크기..
백준 9095번 :R G B 거리
·
c++/백준
문제 링크 :https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 설명 집의 갯수가 주어지고 각집마다 빨강,초록,파랑 으로 색칠할때 드는 비용이 주어진다 각집은 옆집과 똑같은 색으로 칠할 수 없다 이때 모든집을 칠할수 있는 총 비용의 최소값 출력 . 알고리즘 DP배열을 2차원으로 설정한다 . DP[집순서][색] // 0:빨강 1:초록 2:파랑 각집을 빨,초,파 로색칠했을 때의 최소비용을 점화식을 이용하여 ..
백준 9095번 : 1,2,3 더하기
·
c++/백준
문제링크 :https://www.acmicpc.net/problem/9095 문제 설명 주어지는 정수를 1,2,3 의 합으로 나타낼 수있는 경우의 수를 구하는 문제. 알고리즘 브루트 포스로 쉽게 풀 수 있다. 코드 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 29 30 31 32 #include using namespace std; int N; int cnt = 0; void func(int num) { if (num > N)return; if (num == N) cnt++; //N과 숫자가 같으면 경우의수 +1 func(num + 1); //1을 더하고 func(num + 2); //2를 더하고 func(num +..
백준 11055: 가장 큰 증가 부분 수열
·
c++/백준
문제 링크 :https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수열은 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 이고, 합은 113이다. www.acmicpc.net 문제 설명 수열 이 주어지는데 그 수열에서 증가 부분 수열의 합중 최대값을 찾는 것 . {1 100 2 3 4} : 증가 부분 수열 X {1 2 3 5 7 50} : 증가 부분 수열 O 알고리즘 순서대로 진행하며 자기보다 낮은 인..
ariz1623
'c++/백준' 카테고리의 글 목록 (13 Page)