Updated:

CLASS 1

1152

브론즈 2

#include <iostream>
#include <string>
using namespace std;

int main() {
	string S;
	getline(cin, S);

	int result = 1;
	if (S[0] == ' ')
		result--;
	if (S[S.size()-1] == ' ')
		result--;

	for (int i = 0; i < S.size(); i++) {
		char tmp = S[i];
		if (tmp == ' ')
			result++;
	}
	cout << result;
}

 양 끝에 공백이 있을 수 있기 때문에 이를 빼주어야 한다.

1157

브론즈1

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

bool desc(int a, int b) {
	return a > b;
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	
	string S; // 대소문자 32차이, 알파벳 26개
	cin >> S;

	int result[26] = { 0 };
	
	for (int i = 0; i < S.size(); i++) {
		int a = S[i];
		if (a < 91) {
			result[a - 65]++;
		}
		else if (a > 96 && a < 123) {
			result[a - 97]++;
		}
	}

	int tmp[26] = { 0 };
	for (int i = 0; i < 26; i++) {
		tmp[i] = result[i];
	}

	sort(tmp, tmp + 26, desc);
	
	if (tmp[0] == tmp[1]) {
		cout << '?';
	}
	else {
		int max = tmp[0];
		for (int i = 0; i < 26; i++) {
			if(result[i]==max)
				printf("%c", i + 65);
		}
	}
}

 아스키코드를 이용해 풀었다.

2439

브론즈4

#include <iostream>
using namespace std;

int main() {
	int N;
	cin >> N;

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

 1 <= N <= 100 이므로 이중으로 for문을 사용하였다. 또한 오른쪽 정렬을 해주기 위해 for문을 통해 공백을 출력했다.

2562

브론즈3

풀이

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	int A[10] = { 0 };
	for (int i = 1; i < 10; i++)
		cin >> A[i];

	int tmp[10] = { 0 };
	for (int i = 1; i < 10; i++)
		tmp[i] = A[i];
	sort(A, A + 10);

	int result = 0;
	for (int i = 1; i < 10; i++) {
		if (A[9] == tmp[i])
			result = i;
	}
	cout << A[9] << "\n" << result;
}

2577

브론즈2

#include <iostream>
using namespace std;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	int A, B, C;
	cin >> A >> B >> C;

	int mul = A * B * C;
	int result[10] = { 0 };

	do {
		int tmp = mul % 10;
		mul = mul / 10;
		result[tmp]++;
	} while (mul > 0);

	for (int i = 0; i < 10; i++) {
		cout << result[i] << "\n";
	}
}

Class1*

2675

브론즈2

#include <iostream>
#include <string>
using namespace std;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	int T;
	cin >> T;

	for (int i = 0; i < T; i++) {
		int tmp;
		cin >> tmp;
		string S;
		cin >> S;

		for (int j = 0; j < S.size(); j++) {
			for (int k = 0; k < tmp; k++) {
				cout << S[j];
			}
		}
		cout << "\n";
	}
}

10951

브론즈5

#include <iostream>
using namespace std;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	
	int A, B;

	while (cin >> A >> B) {
		cout << A + B << "\n";
	}
}

 처음에는 while(1)을 적용해 풀었지만 출력 초과가 나왔다. 이후 while문 안에 EOF, 입력에서 더이상 읽을 수 있는 데이터가 존재하지 않을 때 반복문을 종료하게 하였다.

댓글남기기