
문제 링크입니다 : www.acmicpc.net/problem/1029 1029번: 그림 교환 첫째 줄에 예술가의 수 N이 주어진다. N은 2보다 크거나 같고, 15보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 N개의 수가 주어진다. i번째 줄의 j번째 수는 j번 예술가가 i번 예술가에�� www.acmicpc.net DP + 비트마스크 문제였다. 문제를 꼼꼼히 안 읽어서 조건을 잘못 파악했었다. 꼼꼼히 읽는 습관을 들여야겠다. #include #include #include using namespace std; int N; vector adj; vector cache; int getMaxOwner(int cur, int price, int visited) { int& ret = cache[c..

문제 링크입니다 : programmers.co.kr/learn/courses/30/lessons/12971?language=cpp 코딩테스트 연습 - 스티커 모으기(2) N개의 스티커가 원형으로 연결되어 있습니다. 다음 그림은 N = 8인 경우의 예시입니다. 원형으로 연결된 스티커에서 몇 장의 스티커를 뜯어내어 뜯어낸 스티커에 적힌 숫자의 합이 최대가 되도록 programmers.co.kr 재귀로 풀려고 했는데 굉장히 어려웠는데... 잘 안되서 다른 사람들 풀이를 보면서 풀었다. #include #include #include using namespace std; int solution(vector sticker) { int answer = 0; int len = sticker.size(); vector..

문제 링크입니다 : https://programmers.co.kr/learn/courses/30/lessons/12983 코딩테스트 연습 - 단어 퍼즐 단어 퍼즐은 주어진 단어 조각들을 이용해서 주어진 문장을 완성하는 퍼즐입니다. 이때, 주어진 각 단어 조각들은 각각 무한개씩 있다고 가정합니다. 예를 들어 주어진 단어 조각이 [“ba”, “na programmers.co.kr 동적계획법 문제였다. 나는 재귀적 동적계획법으로 구현했다. 동적계획법 구현시 짧은 길이의 단어보다 긴 단어를 먼저 구해줘야 정상적으로 작동할 것이다. 1. strs에 있는 단어 조각들을 길이순으로 정렬한다. 길이가 같은 경우에는 사전순으로 정렬한다. 그럼 딱 하나씩 시도 해보기 좋은 순서가 된다. (탐욕법) 2. 재귀함수를 돌면서 ..

문제 링크입니다 : https://www.acmicpc.net/problem/17404 17404번: RGB거리 2 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net RGB 거리 문제랑 거의 비슷한 조건이다. 다만 첫번째 집의 색과 마지막 집의 색도 고려를 해야 한다는 점... 나는 첫번째 집의 정보를 담기 위해서 캐시에 저장을 했다. 그래서 캐시가 3차원이 됐는데, 이게 맞는 풀이인지는 잘 모르겠다. #include #include #include #include #define INF 987654321 usin..