백준 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 알고리즘 순서대로 진행하며 자기보다 낮은 인..
백준 12865: 평범한 배낭
·
c++/백준
문제 링크 : https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000)가 주어진다. 입력으로 주어지는 모든 수는 정수이다. www.acmicpc.net 문제 설명 엄처 유명한 배낭 문제(Knapsack Problem 이다 .. 참고 : https://ko.wikipedia.org/wiki/%EB%B0%B0%EB%82%AD_%EB%AC%B8%EC%A0%9C 알고리즘 DP 알고리즘을 이용하여 간단하게 풀 수있다. 코드 ..
프로그래머스 : 카드게임
·
c++/프로그래머스
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42896 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 카드 더미가 있는데 왼쪽 오른쪽으로 나뉘어 있음. 왼쪽 카드는 조건없이 버릴수있고 오른쪽 카드는 왼쪽카드와 같이 버리거나 ---(1) 왼쪽카드에 적힌 수> 오른쪽카드 에 적힌 수 일 때만 버릴 수있다. ---(2) 점수는 (2)의경우에만 오른쪽 카드에 적힌 수만 큼 휙득 .. 알고리즘 .. DP 로 가야될꺼같아서 DP 로 풀었당 어렵당 .. :/ 코드 1 2 3 4 5 6 7 8 9 ..
백준 1987: 알파벳
·
c++/백준
문제 링크 : https://www.acmicpc.net/problem/1987 1987번: 알파벳 문제 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두 번 지날 수 없다. 좌측 상단에서 시작해서, 말이 최대한 몇 칸을 지날 수 있는지를 구하는 www.acmicpc.net 문제설명 (1,1)에서 탐색시작하여 알파벳 사용하지 않은 곳만 가야됨 그래서 이동 할 수있는 가장 많은 칸의 값을 return..
ariz1623
코딩의 숲