목록문자열 (69)
알고리즘 모음(C++)

문제 링크입니다. https://www.acmicpc.net/problem/10824 10824번: 네 수 첫째 줄에 네 자연수 A, B, C, D가 주어진다. (1 ≤ A, B, C, D ≤ 1,000,000) www.acmicpc.net 두 수를 합친 후, 합친 수들끼리의 합을 구하는 문제입니다. 문자열 2개 씩을 이어준 뒤, 이를 long long형의 변수에 넣어줍니다. 두 개의 변수를 더해주면 됩니다. 자세한 것은 코드를 참고해주세요 #include #include #include #include #include #include #include #define P pair #define F first #define S second #define INF 987654321 using namespace ..

문제 링크입니다. https://www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 세로로 읽었을 때의 문자열을 구하는 문제입니다. 5개의 문자열이 주어질 때, 이를 세로로 읽는 문제입니다. 가장 긴 문자열의 길이를 X라고 할 때, 1~X까지 5개의 문자열을 순서대로 확인합니다. 해당 길이가 N번 째 문자열의 길이보다 클 경우는 그냥 넘어가면 됩니다. 자세한 것은 코드를 참고해주세요 #include #include #include #include #inc..

문제 링크입니다. https://www.acmicpc.net/problem/1100 1100번: 하얀 칸 체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램 www.acmicpc.net 하얀 칸 위에 말이 몇개가 있는지 구하는 문제입니다. 흰색칸과 검은색 칸이 번갈아가면서 나타날 때, 흰색 칸 위에 말이 몇개가 위에 있는지 구하는 문제입니다. 1번, 3번, 5번.. 과 같이 홀수 줄에는 흰색 칸이 홀수번째 칸에 존재합니다. 2번, 4번, 6번.. 과 같이 짝수 줄에는 흰색 칸이 짝수번째 칸에 존재합니다. 이를 생각해 말이 어디 있는지 판별하면 됩니다. 자세한 ..

문제 링크입니다. https://www.acmicpc.net/problem/1032 1032번: 명령 프롬프트 첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은 www.acmicpc.net N개의 문자열이 주어질 때 겹쳐지는 문자를 확인할 수 있는지 물어보는 문제입니다. N개의 문자 중, 겹치는 문자는 그대로, 다른 문자는 ?로 표시해야합니다. 따라서 1~N개의 문자열을 비교해, 다른 문자가 나타날 때마다 ?로 바꿔주면 됩니다. 자세한 것은 코드를 참고해주세요. #include #include #include #include #include #include #..

문제 링크입니다. https://www.acmicpc.net/problem/10988 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 입력 받은 문자를 거꾸로 뒤집어도 같은지를 확인하는 문제입니다. 펠린드롬이란 문자를 거꾸로 뒤집어도 원래의 문자와 같은 것을 의미합니다. 따라서 for문을 통해 원래 문자열과 뒤집은 문자열을 동시에 비교해주면 됩니다. 자세한 것은 코드를 참고해주세요. #include #include #include #include #include #include #include #define P pair #define F first #define S..

문제 링크입니다. https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net 문자열과 배열을 이용해 푸는 문제입니다. 문자열이 주어진 뒤, 주어진 문자열에서 알파벳이 각각 몇개가 들어있는지를 구하는 문제입니다. 알파벳 갯수를 저장하는 배열을 만들어서, 해당 알파벳이 나올 때마다 값을 1씩 증가해줍니다. 마지막에 값을 전부 출력해주면 됩니다. 자세한 것은 코드를 참고해주세요 #include #include #include #include #include #include #include #define P pair #define F first #defin..

문제 링크입니다. https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 문자열을 사용한 구현 문제였습니다. 문자가 연속되는지만 찾으면 되는 문제입니다. 같은 알파벳이 떨어져서 나오면 안되며, 항상 붙어져 나와야지 그룹 단어가 됩니다. 따라서 알파벳을 3가지로 나눠야하는데, 1. 처음 나온 알파벳인 경우 2. 처음 나온 알파벳은 아니지만 전에 나온 알파벳과 같은 경우 3. 처음 나온 알파벳은 아니지만 전에 나온 알파벳과..

문제 링크입니다. https://www.acmicpc.net/problem/2754 2754번: 학점계산 어떤 사람의 C언어 성적이 주어졌을 때, 평점은 몇 점인지 출력하는 프로그램을 작성하시오. A+: 4.3, A0: 4.0, A-: 3.7 B+: 3.3, B0: 3.0, B-: 2.7 C+: 2.3, C0: 2.0, C-: 1.7 D+: 1.3, D0: 1.0, D-: 0.7 F: 0.0 www.acmicpc.net 조건문을 사용하는 문제입니다. 성적을 입력받아 해당하는 성적을 출력하는 문제입니다. 저는 A,B,C,D,F 와 +,0,-를 나눠서 입력받았습니다 자세한 것은 코드를 참고해주세요 #define _CRT_SECURE_NO_WARNINGS #include #include #include #in..

문제 링크입니다. https://www.acmicpc.net/problem/2744 2744번: 대소문자 바꾸기 영어 소문자와 대문자로 이루어진 단어를 입력받은 뒤, 대문자는 소문자로, 소문자는 대문자로 바꾸어 출력하는 프로그램을 작성하시오. www.acmicpc.net 문자열을 사용하는 문제입니다. 문자열에 속해있는 알파벳의 대소문자를 바꾸는 문제입니다. string을 통해 문자열을 입력 받은 뒤, 문자 하나씩 확인하면서 소문자인지 대문자인지를 구합니다. 1. 소문자일 경우 -> a[i] - 'a' + 'A' 2. 대문자일 경우 -> a[i] - 'A' + 'a' 다음과 같은 연산을 통해 문자열에서 알파벳이 몇번째 순서인지 구하고, 필요한 알파벳을 더해주면서 원하는 알파벳을 찾을 수 있습니다. 자세한 ..

문제 링크입니다. https://www.acmicpc.net/problem/9086 9086번: 문자열 입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 하나의 문자열이 주어진다. 문자열은 알파벳 A~Z 대문자로 이루어지며 알파벳 사이에 공백은 없으 www.acmicpc.net 문자열을 사용하는 간단한 문제입니다. N개의 문자열을 입력받고, 문자열의 처음과 끝 문자를 출력하는 문제입니다. String을 사용하면 쉽게 풀 수 있었습니다. 자세한 것은 코드를 참고해주세요 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include..

문제 링크입니다. https://www.acmicpc.net/problem/10176 10176번: Opposite Words The first line of input will be a positive integer, n, indicating the number of problem sets that follow. Following the positive integer will be n text strings, one per line. www.acmicpc.net 문자열을 사용한 문제입니다. 자세한 것은 코드를 참고해주세요 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #includ..

문제 링크입니다. https://www.acmicpc.net/problem/23085 front_coin) continue; if (check[back_coin - reverse_back + reverse_front] == 0) { check[back_coin - reverse_back + reverse_front] = 1; q.push({ back_coin - reverse_back + reverse_front , x + 1 }); } } } return -1; } void solve() { int back = 0; for (int i = 0; i N ..