본문 바로가기

728x90
SMALL

분류 전체보기

(489)
백준 9742번 [순열](C++) -yes6686- 티스토리 백준 문제 풀이: 9742번 [순열]문제 링크: https://www.acmicpc.net/problem/9742문제 설명:주어진 문자열의 모든 순열을 사전식으로 나열한 뒤, 특정 순열 번호에 해당하는 값을 출력하는 문제입니다. 만약 순열 번호가 가능한 범위를 벗어나면 "No permutation"을 출력해야 합니다.문제 해결 코드#include #include #include // memset 사용using namespace std;string str[3628801]; // 순열을 저장할 배열 (최대 10! = 3628800)int visited[11]; // 방문 여부를 저장할 배열string st; // 입력 문자열int cnt = 1; // 순열 번호// ..
백준 1940번 [주몽](C++) -yes6686- 티스토리 백준 문제 풀이: 1940번 [주몽]문제 링크: https://www.acmicpc.net/problem/1940문제 설명:주어진 재료들의 번호를 이용해 두 재료의 번호 합이 특정 숫자 M이 되는 경우의 수를 구하는 문제입니다. 재료 번호는 정수로 주어지며, 각 재료를 하나씩만 사용할 수 있습니다.문제 해결 코드#include #include using namespace std;int arr[15001];int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; // 재료의 개수 cin >> n; int m; // 목표 숫자 cin >> m; for (int i = 0; i > arr[i]; ..
백준 10384번 [팬그램](C++) -yes6686- 티스토리 백준 문제 풀이: 10384번 [팬그램]문제 링크: https://www.acmicpc.net/problem/10384문제 설명:주어진 문장이 팬그램인지 확인하는 문제입니다. 팬그램은 알파벳 26개가 모두 등장하는 문장을 말합니다. 또한, 각 알파벳이 2번 이상 등장하면 "Double pangram!!", 3번 이상 등장하면 "Triple pangram!!!"으로 분류됩니다. 문장이 팬그램이 아닌 경우에는 "Not a pangram"을 출력해야 합니다.문제 해결 코드#include #include #include // memset 사용using namespace std;int alpha[26]; // 알파벳 등장 횟수 저장int main() { ios::sync_with_stdio(false); ..
백준 8974번 [희주의 수학시험](C++) -yes6686- 티스토리 백준 문제 풀이: 8974번 [희주의 수학시험]문제 링크: https://www.acmicpc.net/problem/8974문제 설명:1부터 시작하여 숫자 N이 N번 반복되는 수열을 만들고, 주어진 두 인덱스 범위 내에 있는 숫자의 합을 구하는 문제입니다.문제 해결 코드#include using namespace std;int arr[1001]; // 수열 저장 배열int main() { ios::sync_with_stdio(false); cin.tie(NULL); int cnt = 0; int n = 1; // 수열 생성 while (cnt = 1000) break; // 1000개의 숫자 생성 후 종료 } n++; } ..
백준 8892번 [팰린드롬](C++) -yes6686- 티스토리 백준 문제 풀이: 8892번 [팰린드롬]문제 링크: https://www.acmicpc.net/problem/8892문제 설명:주어진 문자열들 중 두 문자열을 이어붙여 팰린드롬을 만들 수 있는 경우 그 결과를 출력합니다. 문자열의 순서를 바꿔 이어붙이는 것도 가능합니다. 팰린드롬이 없는 경우 `0`을 출력합니다.문제 해결 코드#include using namespace std;string str[101];// 팰린드롬 여부를 확인하는 함수int isPalindrome(string s) { for (int i = 0; i > T; // 테스트 케이스 개수 입력 while (T--) { int n; cin >> n; // 문자열 개수 입력 for (int i ..
백준 8394번 [악수](C++) -yes6686- 티스토리 백준 문제 풀이: 8394번 [악수]문제 링크: https://www.acmicpc.net/problem/8394문제 설명:N명이 원탁에 앉아 서로 악수를 할 때, 마지막 사람이 악수를 하지 않더라도 나올 수 있는 악수의 총 경우의 수를 계산하는 문제입니다. 이 문제는 피보나치 수열의 점화식을 기반으로 풀 수 있습니다. 결과는 마지막 자리 숫자만 출력합니다.문제 해결 코드#include using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; if (n == 1 || n == 2 || n == 3) { cout 코드 설명위 코드는 피보나치 점화식을 사용하여..
백준 1755번 [숫자놀이](C++) -yes6686- 티스토리 백준 문제 풀이: 1755번 [숫자놀이]문제 링크: https://www.acmicpc.net/problem/1755문제 설명:주어진 숫자 범위 [N, M]에서 각 숫자를 영어 단어로 표현했을 때, 사전 순으로 정렬한 뒤 다시 숫자로 출력하는 문제입니다. 한 줄에 최대 10개의 숫자를 출력하며, 각 줄의 끝에는 줄바꿈이 포함됩니다.문제 해결 코드#include #include #include using namespace std;string alpha[10] = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };pair str[101]; // 영어 단어와 숫자를 저장하는 배..
백준 10974번 [모든 순열](C++) -yes6686- 티스토리 백준 문제 풀이: 10974번 [모든 순열]문제 링크: https://www.acmicpc.net/problem/10974문제 설명:자연수 N이 주어질 때, 1부터 N까지의 모든 순열을 사전 순으로 출력하는 문제입니다. N은 최대 8이며, 모든 순열을 출력해야 합니다.문제 해결 코드#include #include using namespace std;int visited[9]; // 방문 여부를 저장하는 배열// DFS를 사용하여 모든 순열 생성void dfs(int x, int d, string s) { if (d > x) { // 길이가 N인 순열이 생성된 경우 for (int i = 0; i > n; // 입력: N dfs(n, 1, ""); // DFS 호출}코드 설명위 코드..

728x90
LIST