Algorithm Problems (212) 썸네일형 리스트형 [백준/C++] 1890번: 점프 문제https://www.acmicpc.net/problem/1890문제 요약N × N 게임판에 수가 적혀져 있다. 각 칸에 적힌 숫자는 현재 칸에서 이동할 수 있는 거리를 의미한다. (반드시 적힌 숫자만큼 이동해야한다.) 항상 현재 칸에 적힌 숫자만큼 오른쪽이나 아래로 가야한다.(이동 중 방향을 바꿀 수는 없다.) 가장 왼쪽 위 칸에서 가장 오른쪽 아래 칸으로 규칙에 맞게 이동할 수 있는 경로 개수를 출력한다.코드#include #define ll long longusing namespace std;ll board[110][110];ll dp[110][110];ll n;// (x, y)에서 (n - 1, n - 1)에 도착할 수 있는 경로 수 반환ll dfs(ll x, ll y) { if (x >.. [백준/C++] 1699번: 제곱수의 합 문제https://www.acmicpc.net/problem/1699문제 요약자연수 N을 제곱수들의 합으로 나타내는 방법 중 그 항의 최소 개수를 구하는 출력한다.코드#include #include #include using namespace std;int dp[100010];int n;int main() { cin >> n; for (int i = 1; i 코드 설명1. dp[i]를 자연수 i를 제곱수들의 합으로 표현했을 때, 그 항의 최소 개수를 저장하는 DP 테이블로 정의한다. 2. dp[i]를 1로만 더해진 항의 개수인 i로 초기화한다. 3. dp[i] 값을 찾기 위해, 1부터 제곱 수를 탐색하며 dp[i - j * j] + 1 값과 비교한다. dp[i - j * j] + 1=> i - j * j.. [백준/C++] 1269번: 대칭 차집합 문제https://www.acmicpc.net/problem/1269문제 요약자연수를 원소로 갖는 두 집합 A, B가 주어졌을 때, 두 집합의 대칭 차집합의 원소 개수를 출력한다. 대칭 차집합이란, (A - B) U (B - A) 를 의미한다.코드#include #include #include using namespace std;set A, B, res;int n, m;int main() { // 입출력 단축 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n >> m; for (int i = 0; i > num; A.insert(num); } for (int i = 0; i > num; B.insert(num); } s.. [백준/C++] 1780번: 종이의 개수 문제https://www.acmicpc.net/problem/1780문제 요약N × N 크기의 행렬로 표현되는 종이의 각 칸에 -1, 0, 1 중 하나가 적혀 있다. 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 1. 만약 종이가 모두 같은 수로 되어 있다면, 이 종이를 그대로 사용한다.2. 그렇지 않다면, 종이를 같은 크기의 종이 9개로 자르고, 각각 잘린 종이에 대해 (1) 과정을 반복한다. -1, 0, 1 로만 채워진 종이의 개수를 출력한다.코드#include using namespace std;int n;int board[2200][2200];int minus_cnt;int zero_cnt;int one_cnt;void divi(int x, int y, int cnt) { int .. [백준/C++] 1389번: 케빈 베이컨의 6단계 법칙 문제https://www.acmicpc.net/problem/1389문제 요약케빈 베이컨의 6단계 법칙에 의하면, 지구에 있는 모든 사람들은 최대 6단계 이내에서 서로 아는 사람으로 연결될 수 있다. 케빈 베이컨 수는 모든 사람에 도달할 수 있는 단계 수의 합을 의미한다. N명의 유저 간 M개의 친구 관계가 주어졌을 때, 케빈 베이컨 수가 가장 작은 사람의 번호를 출력한다.코드#include #include #include using namespace std;int n, m;// dist[i][j]: i번 -> j번 최단 거리int dist[110][110];int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); ci.. [백준/C++] 1946번: 신입 사원 문제https://www.acmicpc.net/problem/1946문제 요약회사에서 신규 사원 채용을 실시한다. 선발 시험은 1차 서류 심사와 2차 면접 시험으로 이루어진다. 서류 심사 성적과 면접 시험 성적 중 적어도 하나가 다른 지원자보다 떨어지지 않는 자만 선발한다. 지원자 수와 각 지원자의 서류 심사 성적의 순위와 면접 성적의 순위가 주어진다. 이 때, 선발할 수 있는 신입 사원의 최대 인원 수를 출력한다.코드#include #include #include using namespace std;int t;int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> t; while (t--) { int n.. 이전 1 2 3 4 5 6 7 ··· 36 다음