본문 바로가기

백준 알고리즘 단계별 풀이 (문제 수)72

[C++] 문자열 반복 / 단어 재조합하기 : 2675번 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다. 풀이 입력 받은 문자열 S 를 재구성해서 출력하는 문제다. 재구성 방법은 3 ABC 를 받으면 3만큼 반복하여 AAABBBCCC 를 출력하면 된다. 전체 코드는 다음과 같다. #include using namespace std; int main() { string* s; // 문자열 int test.. 2022. 6. 28.
[C++] 알파벳 찾기 : 10809번 문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 풀이 #include using namespace std; int main() { string s; int result[26] = {0, }; // 단어 s 와 결과배열 cin >> s; // 결과 배열 -1로 초기화 for (int i = 0; i < 26; i++) { result[i] = -1; } for (char i = 'a'; i 2022. 6. 26.
[C++] 문자형 숫자의 합 : 11720번 문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 풀이 #include using namespace std; int main() { char* numbers; // 숫자 문자열 int count; // 최대 길이 int result = 0; // 결과값 cin >> count; // 최대 길이 입력 cin.ignore(); numbers = new char[count]; // 메모리 할당 cin >> numbers; // 문자 1 = 49 문자 0 = 48 // 따라서 문자형 숫자를 정수형으로 바꾸기 위해선 '0'을 뺀다. for (int i = 0; i < count; i++) { result += (numbers[i] - '0'); } cout 2022. 6. 26.
[C++] 아스키코드 : 11654번 문제 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. 풀이 #include using namespace std; int main() { char c; // 문자 입력 cin >> c; int asciiValue = (int)c;; // 아스키 값 저장 cout 2022. 6. 26.
[C++] 새싹 출력하기 : 25083번 예제 출력 ,r'"7 r`-_ ,' ,/ \. ". L_r' `~\/ | | 풀이 #include using namespace std; int main() { cout 2022. 6. 21.
[C++] 세자리수 X 세자리수 : 2588번 문제 (세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다. (1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오. 풀이 #include using namespace std; int main() { int a; int b; // 두 세자리 수 입력 cin >> a; cin.ignore(); cin >> b; // 100의자리 10의자리 1의자리 구하기 int b_100 = (b / 100) * 100; int b_10 = ((b - b_100) / 10) * 10; int b_1 = b - b_100 - b_10; // 각 자리와 a 를 곱한 값이 구하고자 하는 것 cout 2022. 6. 21.