본문 바로가기

PS(Problem Solving)221

[백준] 23251번 - 스물셋 (C++) 문제 및 풀이 문제) 백준 - 구현 - 스물셋 https://www.acmicpc.net/problem/23251 23251번: 스물셋 첫째 줄에 테스트 케이스의 수 $T$가 주어진다. 둘째 줄부터 $T$줄에 걸쳐 정수 $k$가 주어진다. www.acmicpc.net C++ 소스코드) 2021. 10. 25.
[백준] 17780번 - 새로운 게임 (C++) 문제 및 풀이 문제) 백준 - 구현 - 새로운 게임 https://www.acmicpc.net/problem/17780 17780번: 새로운 게임 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하 www.acmicpc.net 1000번 동안 체스판의 위에 말이 4개 이상 있는지 확인한다. 체스판 위에 말이 쌓여 있는 것을 표현하기 위해 이차원 벡터(vector ChessBoard[13][13])를 처음 사용해 봤는데를 사용했는데 익숙해질 필요가 있다. C++ 소스코드) Full Code) https://github.com/Chocochip101/BOJ_Solution/blob/ma.. 2021. 10. 24.
[백준] 4485번 - 녹색 옷 입은 애가 젤다지? (C++) 문제 및 풀이 문제) 백준 - BFS - 녹색 옷 입은 애가 젤다지? https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net dist배열을 큰 수로 초기화한 후, BFS를 통해서 (n-1, n-1)까지 도달하는데 최소 비용을 구한다. C++ 소스코드) Full Code) https://github.com/Chocochip101/BOJ_Solution/blob/main/Problem%201000~4999/4485_%EB%85%B9%EC%83%89%2.. 2021. 10. 21.
[백준] 10021번 - Watering the Fields (C++) 문제 및 풀이 문제) 백준 - 최소 스패닝 트리(Minimum Spanning Tree) - Watering the Fields https://www.acmicpc.net/problem/10021 10021번: Watering the Fields Input Details There are 3 fields, at locations (0,2), (5,0), and (4,3). The contractor will only install pipes of cost at least 11. Output Details FJ cannot build a pipe between the fields at (4,3) and (5,0), since its cost would be only 10. He therefore b www.acmicpc.. 2021. 10. 14.
[백준] 2623번 - 음악프로그램 (C++) 문제 및 풀이 문제) 백준 - 위상 정렬 - 음악프로그램 https://www.acmicpc.net/problem/2623 2623번: 음악프로그램 첫째 줄에는 가수의 수 N과 보조 PD의 수 M이 주어진다. 가수는 번호 1, 2,…,N 으로 표시한다. 둘째 줄부터 각 보조 PD가 정한 순서들이 한 줄에 하나씩 나온다. 각 줄의 맨 앞에는 보조 PD가 담당한 www.acmicpc.net passed 배열로 출연 여부를 확인한다. 위상 정렬로 res에 push_back 하면서 res의 size()가 n보다 작으면 0을 출력한다. C++ 소스코드) Full Code) https://github.com/Chocochip101/BOJ_Solution/blob/main/Problem%201000~4999/2623_%EC%9D%.. 2021. 10. 5.
[백준] 2056번 - 작업 (C++) 문제 및 풀이 문제) 백준 - 위상 정렬 & DP - 작업 https://www.acmicpc.net/problem/2056 2056번: 작업 수행해야 할 작업 N개 (3 ≤ N ≤ 10000)가 있다. 각각의 작업마다 걸리는 시간(1 ≤ 시간 ≤ 100)이 정수로 주어진다. 몇몇 작업들 사이에는 선행 관계라는 게 있어서, 어떤 작업을 수행하기 위해 www.acmicpc.net 위상 정렬 아이디어와 DP를 이용하여 풀 수 있는 문제. ACM Craft문제와 비슷하여 그렇게 풀려고 했지만, Top-Down으로 푸는 거 포기... n번째 사람까지 걸리는 작업 시간을 memoization 하면 된다. C++ 소스코드) Full Code) https://github.com/Chocochip101/BOJ_Solution/blo.. 2021. 10. 1.
[백준] 4811번 - 알약 (C++) 문제 및 풀이 문제) 백준 - 동적 계획법(Dynamic Programming) - 알약 https://www.acmicpc.net/problem/4811 4811번: 알약 입력은 최대 1000개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄이며, 병에 들어있는 약의 개수 N ≤ 30 가 주어진다. 입력의 마지막 줄에는 0이 하나 주어진다. www.acmicpc.net cache[w][h]: 약 w(한 조각), h(반 조각)의 개수 memoization solve(w, h): top-down방식으로 알약 한 조각 먹을수 있는 경우(w > 0), 반 조각 먹을 수 있는 경우(h > 0)를 더해서 return C++ 소스코드) Full code) https://github.com/Chocochip101/BO.. 2021. 9. 29.
[Codeforces] Codeforces Round #743 (Div. 2) - A) Countdown (C++) 문제 및 풀이 문제) Codeforces - 구현 - A) Countdown https://codeforces.com/contest/1573/problem/A Problem - A - Codeforces codeforces.com 맨 끝자리가 아닐 경우, cnt를 하나씩 증가시키면서 자릿수를 더해 나간다. C++ 소스코드) 2021. 9. 29.
[백준] 20040번 - 사이클 게임 (C++) 문제 및 풀이 문제) 백준 - 분리 집합 - 사이클 게임 https://www.acmicpc.net/problem/20040 20040번: 사이클 게임 사이클 게임은 두 명의 플레이어가 차례대로 돌아가며 진행하는 게임으로, 선 플레이어가 홀수 번째 차례를, 후 플레이어가 짝수 번째 차례를 진행한다. 게임 시작 시 0 부터 n − 1 까지 고유한 www.acmicpc.net 분리 집합을 이용하여 쉽게 풀 수 있는 문제. 선분을 그리면 같은 집합으로 merge하고 parent가 같을 경우 사이클이 있는 것으로 간주한다. C++ 소스 코드) ps. 사이클에 꽂혀서 dfs만 주구장창 생각했다... 2021. 9. 28.
반응형