본문 바로가기

전체 글275

[백준] 11687번 - 팩토리얼 0의 개수 (C++) 문제 및 풀이 문제) 백준 - 수학 - 팩토리얼 0의 개수 https://www.acmicpc.net/problem/11687 11687번: 팩토리얼 0의 개수 첫째 줄에 M (1 ≤ M ≤ 100,000,000)이 주어진다. www.acmicpc.net 팩토리얼에서 0의 개수는 5의 개수에 영향을 받습니다. 1부터 MAX까지 5*1부터 5*MAX까지 5의 개수를 세어줍니다. C++ 소스코드) Full Code) https://github.com/Chocochip101/BOJ_Solution/blob/main/Solution/11687_%ED%8C%A9%ED%86%A0%EB%A6%AC%EC%96%BC0%EC%9D%98%EA%B0%9C%EC%88%98.cpp GitHub - Chocochip101/BOJ_Solution.. 2022. 2. 22.
[백준] 4096번 - 팰린드로미터 (C++) 문제 및 풀이 문제) 백준 - 구현 - 팰린드로미터 https://www.acmicpc.net/problem/4096 4096번: 팰린드로미터 입력은 여러 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 현재 승환이의 주행 거리계에 적혀있는 수가 주어진다.이 숫자는 2자리와 9자리 사이(포함)이다. 예를 www.acmicpc.net 주어진 숫자열을 팰린드롬으로 만들 수 있는 가장 최소 거리를 출력하는 문제였습니다. 알고리즘은 다음과 같습니다. 팰리드롬 검사 → (string)000121 → (int)121 → +1 → (int)122 → (string)000122 → 팰린드롬 검사 → ... C++ 소스코드) 2022. 2. 22.
[백준] 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.
[백준] 6118번 - 숨바꼭질 (C++) 문제 및 풀이 문제) 백준 - BFS - 숨바꼭질 https://www.acmicpc.net/problem/6118 6118번: 숨바꼭질 재서기는 수혀니와 교외 농장에서 숨바꼭질을 하고 있다. 농장에는 헛간이 많이 널려있고 재서기는 그 중에 하나에 숨어야 한다. 헛간의 개수는 N(2 2022. 2. 19.
[백준] 2302번 - 극장 좌석 (C++) 문제 및 풀이 문제) 백준 - 동적 계획법 - 극장 좌석 https://www.acmicpc.net/problem/2302 2302번: 극장 좌석 주어진 조건을 만족하면서 사람들이 좌석에 앉을 수 있는 방법의 가짓수를 출력한다. 방법의 가짓수는 2,000,000,000을 넘지 않는다. (2,000,000,000 < 231-1) www.acmicpc.net VIP 좌석을 제외한 연속된 i개 자리에 대하여 피보나치 수열 i개로 사람들을 앉힐 수 있습니다. 동적 계획법을 통해 피보나치 수를 구하고 입력으로 들어온 VIP 좌석마다 ans에 곱합니다. C++ 소스코드) 2022. 2. 18.
[백준] 21919번 - 소수 최소 공배수 (C++) 문제 및 풀이 문제) 백준 - 수학 - 소수 최소 공배수 https://www.acmicpc.net/problem/21919 21919번: 소수 최소 공배수 수열 중에 소수는 2, 3, 5가 있다. www.acmicpc.net N개의 숫자 배열 A를 입력받아 각 숫자의 소수 판별 후 최소 공배수를 구하면 해결할 수 있었습니다. C++ 소스코드) Full Code) https://github.com/Chocochip101/BOJ_Solution/blob/main/Solution/21919_%EC%86%8C%EC%88%98%EC%B5%9C%EC%86%8C%EA%B3%B5%EB%B0%B0%EC%88%98.cpp GitHub - Chocochip101/BOJ_Solution: BOJ Solutions BOJ Solutions.. 2022. 2. 18.
[백준] 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.
[백준] 2167번 - 2차원 배열의 합 (C++) 문제 및 풀이 문제) 백준 - 구현 - 2차원 배열의 합 https://www.acmicpc.net/problem/2167 2167번: 2차원 배열의 합 첫째 줄에 배열의 크기 N, M(1 ≤ N, M ≤ 300)이 주어진다. 다음 N개의 줄에는 M개의 정수로 배열이 주어진다. 배열에 포함되어 있는 수는 절댓값이 10,000보다 작거나 같은 정수이다. 그 다음 줄에는 www.acmicpc.net 배열에 저장된 수에서 인덱스의 쿼리가 주어질 때 합을 구하는 문제였습니다. C++ 소스 코드) 2022. 2. 17.
[백준] 14722번 - 우유 도시 (C++) 문제 및 풀이 문제) 백준 - 동적 계획법 - 우유 도시 https://www.acmicpc.net/problem/14722 14722번: 우유 도시 영학이는 딸기우유, 초코우유, 바나나우유를 좋아한다. 입맛이 매우 까다로운 영학이는 자신만의 우유를 마시는 규칙이 있다. 맨 처음에는 딸기우유를 한 팩 마신다. 딸기우유를 한 팩 마신 후 www.acmicpc.net 동적 계획법을 통해 동쪽, 남쪽을 탐색하면 우유를 마시거나, 마시지 않으면서 최대 우유 개수를 탐색합니다. C++ 소스 코드) Full Code) https://github.com/Chocochip101/BOJ_Solution/blob/main/Solution/14722_%EC%9A%B0%EC%9C%A0%EB%8F%84%EC%8B%9C.cpp GitHub -.. 2022. 2. 16.
[백준] 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.
반응형