문제

 

풀이

#include <iostream>
#include <string>

using namespace std;

int main() {
	string s;
	int idx;

	cin >> s >> idx;

	cout << s[idx - 1];

	return 0;
}

'백준 > 문자열' 카테고리의 다른 글

11718: 그대로 출력하기 / C++  (0) 2023.03.08
5622: 다이얼 / C++  (0) 2023.03.08
2908: 상수 / C++  (0) 2023.03.08
1157: 단어 공부 / C++  (0) 2023.03.08
2675: 문자열 반복 / C++  (0) 2023.03.08

문제

 

풀이

입력의 각 줄마다 입력받고 출력하도록 하고 빈 문자열을 입력받을 시 프로그램이 종료되도록 하였다.

#include <iostream>
#include <string>

using namespace std;

int main() {
	string s;

	while (true) {
		getline(cin, s);

		if (s.empty()) break;

		cout << s << "\n";
	}

	return 0;
}

'백준 > 문자열' 카테고리의 다른 글

27866: 문자와 문자열 / C++  (0) 2023.03.09
5622: 다이얼 / C++  (0) 2023.03.08
2908: 상수 / C++  (0) 2023.03.08
1157: 단어 공부 / C++  (0) 2023.03.08
2675: 문자열 반복 / C++  (0) 2023.03.08

 

풀이

각 알파벳마다 매칭되는 숫자들을 배열로 만들고 문자열을 입력 받은 후 문자열의 각 원소와 매칭되는 값들을 더한 후 합을 출력한다.

#include <iostream>
#include <string>

using namespace std;

int main() {
	string s;
	int sum = 0;
	int arr[26] = { 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 10, 10, 10, 10 };

	cin >> s;

	for (int i = 0; i < s.length(); i++)
		sum += arr[(int)s[i] - 'A'];

	cout << sum;

	return 0;
}

'백준 > 문자열' 카테고리의 다른 글

27866: 문자와 문자열 / C++  (0) 2023.03.09
11718: 그대로 출력하기 / C++  (0) 2023.03.08
2908: 상수 / C++  (0) 2023.03.08
1157: 단어 공부 / C++  (0) 2023.03.08
2675: 문자열 반복 / C++  (0) 2023.03.08

문제

 

풀이

문자열 2개를 받은 뒤 각 문자열을 뒤집은 후 비교해서 더 큰 수를 출력한다.

#include <iostream>
#include <string>

using namespace std;

int main() {
	string s1, s2, tmp1, tmp2;

	cin >> s1 >> s2;

	for (int i = 0; i < s1.length(); i++)
		tmp1 += s1[s1.length() - (i + 1)];

	for (int i = 0; i < s2.length(); i++)
		tmp2 += s2[s2.length() - (i + 1)];

	if (stoi(tmp1) > stoi(tmp2)) cout << tmp1;
	else cout << tmp2;

	return 0;
}

'백준 > 문자열' 카테고리의 다른 글

11718: 그대로 출력하기 / C++  (0) 2023.03.08
5622: 다이얼 / C++  (0) 2023.03.08
1157: 단어 공부 / C++  (0) 2023.03.08
2675: 문자열 반복 / C++  (0) 2023.03.08
10809: 알파벳 찾기 / C++  (0) 2023.03.08

문제

 

풀이

대소문자를 구분하지 않으므로 transform 함수를 이용해 입력받은 문자열을 전부 대문자로 만들어준다.

이후 문자열의 각 문자마다 해당하는 배열의 인덱스 값을 증가시켜주고 배열을 순회하며 가장 많이 사용된 알파벳의 사용 횟수와 인덱스를 저장한다.

그리고 가장 많이 사용된 알파벳의 사용 횟수와 동일한 사용 횟수를 가지는 알파벳이 있는지 검사하고 있다면 ?를 출력, 없다면 가장 많이 사용된 알파벳을 대문자로 출력한다.

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

int main() {
	string s;
	int max = 0, idx = 0, cnt = 0;
	int alpha[26] = {0};

	cin >> s;

	transform(s.begin(), s.end(), s.begin(), ::toupper);

	for (int i = 0; i < s.length(); i++)
		alpha[s[i] - 65]++;

	for (int i = 0; i < 26; i++)
		if (max < alpha[i]) {
			max = alpha[i];
			idx = i;
		}

	for (int i = 0; i < 26; i++)
		if (max == alpha[i]) cnt++;

	if (cnt > 1) cout << "?";
	else cout << (char)(idx + 65);

	return 0;
}

'백준 > 문자열' 카테고리의 다른 글

5622: 다이얼 / C++  (0) 2023.03.08
2908: 상수 / C++  (0) 2023.03.08
2675: 문자열 반복 / C++  (0) 2023.03.08
10809: 알파벳 찾기 / C++  (0) 2023.03.08
11720: 숫자의 합 / C++  (0) 2023.03.08

문제

 

풀이

문자열과 반복 횟수를 입력받고 문자열의 각 원소를 입력받은 반복 횟수만큼 str에 더하는 것을 반복한다. 이를 주어진 테스트 케이스만큼 반복한 후 출려한다.

#include <iostream>
#include <string>

using namespace std;

int main() {
	int n, m;
	string s;
	string str[1001];

	cin >> n;

	for (int i = 0; i < n; i++) {
		cin >> m >> s;

		for (int j = 0; j < s.length(); j++) {
			for (int k = 0; k < m; k++) {
				str[i] += s[j];
			}
		}
	}

	for (int i = 0; !str[i].empty(); i++)
		cout << str[i] << "\n";

	return 0;
}

'백준 > 문자열' 카테고리의 다른 글

2908: 상수 / C++  (0) 2023.03.08
1157: 단어 공부 / C++  (0) 2023.03.08
10809: 알파벳 찾기 / C++  (0) 2023.03.08
11720: 숫자의 합 / C++  (0) 2023.03.08
9086: 문자열 / C++  (0) 2023.03.08

문제

 

풀이

모든 알파벳이 담긴 문자열 alpha를 선언하고 입력받은 문자열에서 find() 함수와 문자열 alpha를 이용해 알파벳의 위치를 찾는다.

#include <iostream>
#include <string>

using namespace std;

int main() {
	string str;
	string alpha = "abcdefghijklmnopqrstuvwxyz";

	cin >> str;

	for (int i = 0; i < alpha.length(); i++) {
		cout << (int)str.find(alpha[i]) << " ";
	}

	return 0;
}

'백준 > 문자열' 카테고리의 다른 글

1157: 단어 공부 / C++  (0) 2023.03.08
2675: 문자열 반복 / C++  (0) 2023.03.08
11720: 숫자의 합 / C++  (0) 2023.03.08
9086: 문자열 / C++  (0) 2023.03.08
2743: 단어 길이 재기 / C++  (0) 2023.03.08

문제

 

풀이

#include <iostream>
#include <string>

using namespace std;

int main() {
	int n, sum = 0;
	string s;

	cin >> n >> s;

	for (int i = 0; i < n; i++)
		sum += s[i] - '0';

	cout << sum;

	return 0;
}

 

'백준 > 문자열' 카테고리의 다른 글

2675: 문자열 반복 / C++  (0) 2023.03.08
10809: 알파벳 찾기 / C++  (0) 2023.03.08
9086: 문자열 / C++  (0) 2023.03.08
2743: 단어 길이 재기 / C++  (0) 2023.03.08
11654: 아스키 코드 / C++  (0) 2023.03.08

+ Recent posts