본문 바로가기

PS(Problem Solving)221

[백준] 2160번 - 그림 비교 (C++) 문제 및 풀이 문제) 백준 - 구현 - 그림 비교 https://www.acmicpc.net/problem/2160 2160번: 그림 비교 N(2 ≤ N ≤ 50)개의 그림이 있다. 각각의 그림은 5×7의 크기이고, 두 가지 색으로 되어 있다. 이때 두 가지의 색을 각각 ‘X’와 ‘.’으로 표현하기로 하자. 이러한 그림들이 주어졌을 때, 가장 비 www.acmicpc.net 반복문으로 하나씩 저장 후 비교하여 가장 비슷한 것을 출력합니다. C++ 소스코드) 2022. 2. 16.
[백준] 21937번 - 작업 (C++) 문제 및 풀이 문제) 백준 - DFS - 작업 https://www.acmicpc.net/problem/21937 21937번: 작업 민상이가 작업할 개수 $N$와 작업 순서 정보의 개수 $M$이 공백으로 구분되어 주어진다. 두 번째줄부터 $M + 1$ 줄까지 작업 $A_i$와 작업 $B_i$가 공백으로 구분되어 주어진다. 이때 두 값의 의미는 작 www.acmicpc.net 깊이 우선 탐색을 통해 먼저 끝내야 할 작업의 수를 계산합니다. 그래프를 저장할 때 역순으로 저장하여 탐색을 진행합니다. C++ 소스코드) Full Code) https://github.com/Chocochip101/BOJ_Solution/blob/main/Solution/21937_%EC%9E%91%EC%97%85.cpp GitHub - Cho.. 2022. 2. 15.
[백준] 19583번 - 싸이버개강총회 (Python) 문제 및 풀이 문제) 백준 - 문자열 - 싸이버개강총회 https://www.acmicpc.net/problem/19583 19583번: 싸이버개강총회 첫번째 줄에는 개강총회를 시작한 시간 S, 개강총회를 끝낸 시간 E, 개강총회 스트리밍을 끝낸 시간 Q가 주어진다. (00:00 ≤ S < E < Q ≤ 23:59) 각 시간은 HH:MM의 형식으로 주어진다. 두번째 줄부터는 www.acmicpc.net S, E, Q의 숫자를 차례로 받고 시간 T와 이름의 입력을 받습니다. 정해진 입력 범위가 없기 때문에 밑의 코드와 같이 입력을 받습니다. while True: try: T, Name = input().split() except: break 그 후 시간 비교를 통해 출석 여부를 판단합니다. 따로 시간 Tokenizing.. 2022. 2. 15.
[백준] 20207번 - 달력 (C++) 문제 및 풀이 문제) 백준 - 정렬 - 달력 https://www.acmicpc.net/problem/20207 20207번: 달력 수현이는 일년의 날짜가 1일부터 365일로 표시되어있는 달력을 가지고있다. 수현이는 너무나도 계획적인 사람이라 올 해 일정을 모두 계획해서 달력에 표시해놨다. 여름이 거의 끝나가자 장 www.acmicpc.net C++ 소스코드) 2022. 2. 14.
[백준] 21939번 - 문제 추천 시스템 Version 1 (C++) 문제 및 풀이 문제) 백준 - 우선 수위 큐 - 문제 추천 시스템 Version 1 https://www.acmicpc.net/problem/21939 21939번: 문제 추천 시스템 Version 1 tony9402는 최근 깃헙에 코딩테스트 대비 문제를 직접 뽑아서 "문제 번호, 난이도"로 정리해놨다. 깃헙을 이용하여 공부하시는 분들을 위해 새로운 기능을 추가해보려고 한다. 만들려고 하는 명령 www.acmicpc.net 가장 어려운 문제와 쉬운 문제를 출력하기 위해 최대 힙과 최소 힙을 모두 이용했습니다. 하지만, 두 개의 힙으로는 solved(제거)를 못하므로 lev배열을 이용해 제거 여부를 판단합니다. 만약, lev이 -1일 경우 제거된 경우입니다. C++ 소스코드) 2022. 2. 14.
[백준] 1145번 - 적어도 대부분의 배수 (C++) 문제 및 풀이 문제) 백준 - 수학 - 적어도 대부분의 배수 https://www.acmicpc.net/problem/1145 1145번: 적어도 대부분의 배수 첫째 줄에 다섯 개의 자연수가 주어진다. 100보다 작거나 같은 자연수이고, 서로 다른 수이다. www.acmicpc.net 자연수가 5개만 주어지므로 삼중 반복문을 통해 최소 공배수를 구하며 가장 작은 것을 찾습니다. C++ 소스코드) 2022. 2. 14.
[백준] 1633번 - 최고의 팀 만들기 (C++) 문제 및 풀이 문제) 백준 - 동적 계획법 - 최고의 팀 만들기 https://www.acmicpc.net/problem/1633 1633번: 최고의 팀 만들기 꿍 협회는 매년 세계체스대회에 나갈 팀을 만들고 있다. 팀은 흑으로 플레이하는 15명과 백으로 플레이하는 15명, 총 30명으로 이루어진다. 꿍 협회는 가능한 최고의 팀을 만들려고 하는데 각 플 www.acmicpc.net 동적 계획법을 통해 해결했습니다. solve(int idx, int b_cnt, int w_cnt) 함수는 idx번째 사람까지 고른 흑(b_cnt)과 백(w_cnt)을 골랐을 때, 능력치의 최댓값입니다. solve 함수 내에서 idx번째 사람을 뛰어넘거나 흑 플레이어로 추가하거나 백 플렉이어로 추가합니다. C++ 소스코드) Full Code.. 2022. 2. 12.
[백준] 4803번 - 트리 (C++) 문제 및 풀이 문제) 백준 - DFS - 트리 https://www.acmicpc.net/problem/4803 4803번: 트리 입력으로 주어진 그래프에 트리가 없다면 "No trees."를, 한 개라면 "There is one tree."를, T개(T > 1)라면 "A forest of T trees."를 테스트 케이스 번호와 함께 출력한다. www.acmicpc.net 1번 노드부터 탐색하면서 트리의 개수를 계산합니다. 그래프에서 노드의 개수와 간선의 개수를 계산하여 cntEdge(i) / 2 == cntNode(i) - 1을 통해 트리 여부를 판별합니다. C++ 소스코드) Full Code) https://github.com/Chocochip101/BOJ_Solution/blob/main/Solution/480.. 2022. 2. 12.
[백준] 3184번 - 양 (C++) 문제 및 풀이 문제) 백준 - DFS - 양 https://www.acmicpc.net/problem/3184 3184번: 양 첫 줄에는 두 정수 R과 C가 주어지며(3 ≤ R, C ≤ 250), 각 수는 마당의 행과 열의 수를 의미한다. 다음 R개의 줄은 C개의 글자를 가진다. 이들은 마당의 구조(울타리, 양, 늑대의 위치)를 의미한다. www.acmicpc.net DFS를 통해 각 영역을 구분합니다. 영역을 구분하면서 영역에 존재하는 양과 늑대의 개수를 세어줍니다. 양이 많을 경우 양의 개수만 더하고, 늑대가 많을 경우 늑대의 개수만 더해주면 해결할 수 있습니다. C++ 소스코드) Full Code) https://github.com/Chocochip101/BOJ_Solution/blob/main/Solution/.. 2022. 2. 12.
반응형