1. 문제 링크

https://www.acmicpc.net/problem/10808

 

10808번: 알파벳 개수

단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다.

www.acmicpc.net

 

 

 

2. 문제 설명

string을 입력받은 후 단어에 포함되어 있는 알파벳의 개수를 각각 출력하는 문제입니다.

 

 

 

3. 소스코드

BOJ 10808번 알파벳 개수 C++ 풀이입니다.

#include <iostream>
using namespace std;

int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);

	int arr[26] = {};
	string S;
	cin >> S;

	for (int i = 0; i < S.length(); i++) arr[S[i] - 'a']++;
    // for (auto s : S) arr[s - 'a']++;
	for (int i = 0; i < 26; i++) cout << arr[i] << ' ';

	return 0;
}

9번 라인에서 arr배열을 0으로 초기화해주기 위해 {}을 사용했습니다.

13번 라인 for문에서 string을 한칸씩 돌면서 해당하는 arr의 인덱스의 값을 증가시켜주고,

15번 라인 for문으로 arr을 출력하면 됩니다.

13번 라인은 auto를 사용하면 14번 라인처럼 써도 됩니다.

'Algorithm > Study' 카테고리의 다른 글

[백준 1406번 C++] 에디터  (0) 2020.05.13
[백준 10807번 C++] 개수 세기  (0) 2020.05.12
[백준 2446번 C++] 별 찍기 - 9  (0) 2020.04.30
[백준 2445번 C++] 별 찍기 - 8  (0) 2020.04.30
[백준 2444번 C++] 별 찍기 - 7  (0) 2020.04.30

1. 문제 링크

 

https://www.acmicpc.net/problem/2446

 

2446번: 별 찍기 - 9

첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.

www.acmicpc.net

 

 

 

2. 문제 설명

N을 입력받은 후 모래시계 모양으로 출력하는 문제입니다.

 

 

 

3. 소스코드

BOJ 2446번 별 찍기 - 9 C++ 풀이입니다.

#include <iostream>
using namespace std;

int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);

	int N;
	cin >> N;

	for (int i = 0; i < N; i++) {
		for (int j = 0; j < i; j++)
			cout << ' ';
		for (int j = 1; j <= (2 * (N - i)) - 1; j++)
			cout << '*';
		cout << '\n';
	}
	for (int i = 1; i < N; i++) {
		for (int j = 1; j < N - i; j++)
			cout << ' ';
		for (int j = 1; j <= (2 * i) + 1; j++)
			cout << '*';
		cout << '\n';
	}

	return 0;
}

이중 for문을 두 번 사용하여 역피라미드 모양으로 *을 출력한 후, 피라미드 모양으로 *을 출력하면 됩니다.

'Algorithm > Study' 카테고리의 다른 글

[백준 10807번 C++] 개수 세기  (0) 2020.05.12
[백준 10808번 C++] 알파벳 개수  (0) 2020.05.12
[백준 2445번 C++] 별 찍기 - 8  (0) 2020.04.30
[백준 2444번 C++] 별 찍기 - 7  (0) 2020.04.30
[백준 2443번 C++] 별 찍기 - 6  (0) 2020.04.30

1. 문제 링크

https://www.acmicpc.net/problem/2445

 

2445번: 별 찍기 - 8

첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.

www.acmicpc.net

 

 

 

2. 문제 설명

N을 입력받은 후 리본모양으로 *을 출력하는 문제입니다.

 

 

 

3. 소스코드

BOJ 2445번 별 찍기 - 8 C++ 풀이입니다.

#include <iostream>
using namespace std;

int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);

	int N;
	cin >> N;

	for (int i = 1; i <= N; i++) {
		for (int j = 1; j <= i; j++)
			cout << '*';
		for (int j = 1; j <= (2 * N) - (2 * i); j++)
			cout << ' ';
		for (int j = 1; j <= i; j++)
			cout << '*';
		cout << '\n';
	}
	for (int i = 1; i < N; i++) {
		for (int j = 1; j <= N - i; j++)
			cout << '*';
		for (int j = 1; j <= 2 * i; j++)
			cout << ' ';
		for (int j = 1; j <= N - i; j++)
			cout << '*';
		cout << '\n';
	}

	return 0;
}

이중 for문을 두 번 사용하여 *, 공백, * 순서로 출력하면 됩니다.

'Algorithm > Study' 카테고리의 다른 글

[백준 10808번 C++] 알파벳 개수  (0) 2020.05.12
[백준 2446번 C++] 별 찍기 - 9  (0) 2020.04.30
[백준 2444번 C++] 별 찍기 - 7  (0) 2020.04.30
[백준 2443번 C++] 별 찍기 - 6  (0) 2020.04.30
[백준 2442번 C++] 별 찍기 - 5  (0) 2020.04.30

+ Recent posts