본문 바로가기

코딩 테스트60

[백준] 21922번 - 학부 연구생 민상 (C++) 문제 및 풀이 문제) 백준 - 구현 - 학부 연구생 민상 https://www.acmicpc.net/problem/21922 21922번: 학부 연구생 민상 첫 번째 줄에는 연구실의 크기가 세로 $N(1 \le N \le 2,000)$, 가로 $M(1 \le M \le 2,000)$ 순으로 주어진다. 두 번째 줄부터 $N + 1$ 줄까지 연구실 내부 구조 정보를 알려주는 값 $M$개가 주어진다. $1,2,3,4$ www.acmicpc.net 놓인 물건 종류의 따라 에어컨 바람이 지날 수 있는 자리의 수를 찾는 문제였습니다. DFS를 통해 놓인 물건에 따라 연구실을 탐색합니다. 방문 여부를 체크할 때, 다른 방향에서 온 바람은 지날 수 있기에 visited배열을 visited[MAX][MAX][4]로 선언합니다. 에어컨.. 2022. 2. 21.
[백준] 5618번 - 공약수 (C++) 문제 및 풀이 문제) 백준 - 수학 - 공약수 https://www.acmicpc.net/problem/5618 5618번: 공약수 첫째 줄에 n이 주어진다. n은 2 또는 3이다. 둘째 줄에는 공약수를 구해야 하는 자연수 n개가 주어진다. 모든 자연수는 108 이하이다. www.acmicpc.net 숫자들의 모든 공약수를 구하는 문제였습니다. 모든 숫자들에 대해 최대 공약수를 구하여 그 최대 공약수의 약수들을 출력하면 해결할 수 있습니다. C++ 소스코드) 2022. 2. 21.
[백준] 3584번 - 가장 가까운 공통 조상 (C++) 문제 및 풀이 문제) 백준 - 트리/DFS - 가장 가까운 공통 조상 https://www.acmicpc.net/problem/3584 3584번: 가장 가까운 공통 조상 루트가 있는 트리(rooted tree)가 주어지고, 그 트리 상의 두 정점이 주어질 때 그들의 가장 가까운 공통 조상(Nearest Common Anscestor)은 다음과 같이 정의됩니다. 두 노드의 가장 가까운 공통 조상은, 두 www.acmicpc.net DFS를 통해 한 노드에 대하여 조상으로 올라가 트리를 순회하여 Set에 모든 조상을 저장합니다. 그 후, 공통 조상을 탐색할 다음 노드에 대하여 마찬가지로 트리를 순회합니다. 이때 탐색한 조상이 Set에 있을 경우, 그 조상을 반환하여 출력합니다. C++ 소스코드) Full Code) ht.. 2022. 2. 19.
[백준] 21610번 - 마법사 상어와 비바라기 (C++) 문제 및 풀이 문제) 백준 - 구현 - 마법사 상어와 비바라기 https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 문제에 제시된 설명대로 구현하면 해결할 수 있는 문제였습니다. int A[i][j]: i 행 j 열에 담긴 물의 양 int cloud[i][j]: i 행 j 열의 구름 여부, 1일 경우 이전 구름/2일 경우 생성된 구름 chgRange(x): x 범위 예외 처리 moveCloud(d, s): 구름을 d의 방향으로 s만큼 이동 rain(): 구.. 2022. 2. 17.
[백준] 14712번 - 넴모넴모 (Easy) (C++) 문제 및 풀이 문제) 백준 - 백트래킹 - 넴모넴모 (Easy) https://www.acmicpc.net/problem/14712 14712번: 넴모넴모 (Easy) 네모는 뿌××× 게임에 깊은 감명을 받아, 직사각형 모양의 격자판과 “넴모”라는 수수께끼의 생물을 이용하는 “넴모넴모”라는 게임을 만들었다. 이 게임의 규칙은 아주 간단하다. 격자판의 www.acmicpc.net C++ 소스코드) Full Code) https://github.com/Chocochip101/BOJ_Solution/blob/main/Solution/14712_%EB%84%B4%EB%AA%A8%EB%84%B4%EB%AA%A8.cpp GitHub - Chocochip101/BOJ_Solution: BOJ Solutions BOJ Solutio.. 2022. 2. 17.
[백준] 18353번 - 병사 배치하기 (C++) 문제 및 풀이 문제) 백준 - 동적 계획법 - 병사 배치하기 https://www.acmicpc.net/problem/18353 18353번: 병사 배치하기 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 2,000) 둘째 줄에 각 병사의 전투력이 공백을 기준으로 구분되어 차례대로 주어진다. 각 병사의 전투력은 10,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 열외 해야 하는 최대 병사 수를 구하는 문제였습니다. 문제의 관점을 바꾸자면 내림차순을 만들 수 있는 최대 병사 수를 구하는 문제이므로 11722번-가장 긴 감소하는 부분 수열 문제와 유사하다는 것을 알 수 있습니다. ㅁ 2021.03.09 - [PS(Problem Solving)/백준_BOJ] - [백준] 11722번 - 가장 긴 감소하는.. 2022. 2. 16.
[백준] 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.
[백준] 20207번 - 달력 (C++) 문제 및 풀이 문제) 백준 - 정렬 - 달력 https://www.acmicpc.net/problem/20207 20207번: 달력 수현이는 일년의 날짜가 1일부터 365일로 표시되어있는 달력을 가지고있다. 수현이는 너무나도 계획적인 사람이라 올 해 일정을 모두 계획해서 달력에 표시해놨다. 여름이 거의 끝나가자 장 www.acmicpc.net C++ 소스코드) 2022. 2. 14.
반응형