본문 바로가기

전체 글369

백준 7579 앱 문제URL :https://www.acmicpc.net/problem/7579 7579번: 앱 입력은 3줄로 이루어져 있다. 첫 줄에는 정수 N과 M이 공백문자로 구분되어 주어지며, 둘째 줄과 셋째 줄에는 각각 N개의 정수가 공백문자로 구분되어 주어진다. 둘째 줄의 N개의 정수는 현재 활 www.acmicpc.net 문제 접근법 : dp문제이지만 어떻게 접근하냐에따라 메모리초과 혹은 시간초과를 겪어나 맞출수있는 문제입니다. 여러번의 메모리 초과 시간초과를 겪었고 힘들게 풀었네요 처음엔 메모리를 이용해서 최소비용을 구할려다가 시간초과가 나오고 메모리와 n을 이용하면 메모리 초과가나오고 앱들과 비용을 이용해서 하면 100*10000 충분히 간으하더군요 백트래킹으로 메모이제이션을 이용하면 cost 0 부터 모.. 2023. 12. 11.
백준 13164 행복 유치원 문제 URL : https://www.acmicpc.net/problem/13164 13164번: 행복 유치원 행복 유치원 원장인 태양이는 어느 날 N명의 원생들을 키 순서대로 일렬로 줄 세우고, 총 K개의 조로 나누려고 한다. 각 조에는 원생이 적어도 한 명 있어야 하며, 같은 조에 속한 원생들은 서로 www.acmicpc.net 문제 접근법 : 키차이 순으로 정렬한다음 n-k개를 뽑아서 다더하면 최소비용으로 구할수있는문제입니다. 소스코드 : 파이썬코드입니다. n,k = map(int,input().split()) l = list(map(int,input().split())) r = [l[i]-l[i-1] for i in range(1,len(l))] r.sort() print(sum(r[:n-k])).. 2023. 12. 10.
백준 6543 그래프의 싱크 문제 URL : https://www.acmicpc.net/problem/6543 6543번: 그래프의 싱크 각 테스트 케이스마다 한 줄에 걸쳐 bottom(G)의 모든 노드를 출력한다. 노드는 공백으로 구분해야 하며, 오름차순이어야 한다. 만약, bottom(G)가 공집합이면 빈 줄을 출력한다. www.acmicpc.net 문제 접근법 : scc알고리즘 문제입니다. bottom(G) 를 구하기위해선 scc안에서 outdegree가 없는 노드르 찾아야합니다. 소스코드 : #include using namespace std; int n,m; vector adj,vscc; vector check,finish,st,outdegree,cscc; int id=0; int color=0; void input(){ .. 2023. 12. 10.
백준 9202 Boggle 문제 URL : https://www.acmicpc.net/problem/9202 9202번: Boggle 각각의 Boggle에 대해, 얻을 수 있는 최대 점수, 가장 긴 단어, 찾은 단어의 개수를 출력한다. 한 Boggle에서 같은 단어를 여러 번 찾은 경우에는 한 번만 찾은 것으로 센다. 가장 긴 단어가 여러 개 www.acmicpc.net 문제 접근법 : 처음 set을 이용해서 푸는 문젠줄 알았는데 안되더군요 좀더 효과적인 알고리즘이 필요했는데 Trie를 이용한 문제더군요 모든 단어를 trie로 나열하고 보드안에 있는 좌표를 처음부터 시작해서 마지막까지 만들수있는 모든경우의수를 전부 만듭니다. 그렇지만 만들필요가 없는 단어가 시작되지도 않는다면 그런 경우의수 같은 것은 제외해야겠죠? 소스코드 : #.. 2023. 12. 10.