목록백준 문제풀이 (30)
Creative Code
#include #include #include #include using namespace std;int dp[301][3] = { 0 }; // n번째 계단에 m번연속 발판을 밟아 도착했을 때 얻을 수 있는 점수int stair[301]; // 계단의 점수를 저장하는 배열int solution(int N) { int answer = 0; dp[0][1] = 0; dp[0][2] = 0; dp[1][1] = stair[1]; dp[1][2] = stair[1]; for (int i = 2; i > N; int numStair = N; int index = 1; while (N > 0) { int k; cin >> k; stair[index] = k; index++; N--; } cout h..
https://www.acmicpc.net/problem/2312 2312번: 수 복원하기 첫째 줄에 테스트 케이스의 수가 주어진다. 각 테스트 케이스마다 양의 정수 N (2 ≤ N ≤ 100,000)이 주어진다. www.acmicpc.net #include #include #include #include using namespace std; void solution(int k) { int a = 2; // 처음 나눌 소인수 int b = 0; // a로 나누어떨어지는 횟수 while (k > 1) { if (k % a == 0) { // k가 a로 나누어떨어질때 b++; // 횟수 추가 k /= a; if (k % a != 0) { printf("%d %d\n",a, b); // 더이상 나누어떨어지지 ..
https://www.acmicpc.net/problem/2638 2638번: 치즈 첫째 줄에는 모눈종이의 크기를 나타내는 두 개의 정수 N, M (5 ≤ N, M ≤ 100)이 주어진다. 그 다음 N개의 줄에는 모눈종이 위의 격자에 치즈가 있는 부분은 1로 표시되고, 치즈가 없는 부분은 0으로 www.acmicpc.net #include #include #include #include #include #include using namespace std; int N, M; int paper[101][101]; int dx[] = { 0,1,0,-1 }; int dy[] = { -1,0,1,0 }; map m; // 모든 치즈가 녹았는지 확인하는 함수 bool check() { bool checking =..
https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net #include #include #include #include #include #include #include using namespace std; int result = 0; // 최종 결과를 저장할 변수 // 게임 보드와 그 크기를 저장할 변수들 char board[21][21]; bool visit[26] = { false }; int dx[] = { -1,0,1,0 }; int d..
https://www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net #include #include #include #include #include using namespace std; int dp[1001][1001] = { 0 }; // 문자열1의 i 번째와 문자열2의 j번째 까지 비교했을때 LCS 문자열의 길이 int main() { cin.tie(0); cout.tie(0); ios_base::sync_with_..
https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net #include #include #include #include #include #include using namespace std; int room[51][51]; int new_room[51][51] = { 0 }; int sum = 0; int main() { cin.tie(0); cout.tie(0); ios_base::sync_with_stdio(false); int R, C, T; c..