
Git
풀이
1. 합격자 찾기
#include <iostream>
#include <vector>
using namespace std;
int t;
int n;
vector<float>person[1005];
int result[15];
void solve();
void solution();
void solve()
{
for (int i = 0; i < t; i++)
{
float average = 0.f;
for (int j = 0; j < person[i].size(); j++)
{
average += person[i][j];
}
average /= person[i].size();
for (int j = 0; j < person[i].size(); j++)
{
if (person[i][j] >= average)
{
result[i]++;
}
}
}
solution();
}
void solution()
{
for (int i = 0; i < t; i++)
{
cout << result[i] << '/' << person[i].size() << '\n';
}
}
int main()
{
cin >> t;
for (int i = 0; i < t; i++)
{
cin >> n;
for (int j = 0; j < n; j++)
{
int a;
cin >> a;
person[i].push_back(a);
}
}
solve();
}
2. 철자 분리 집합
#include <iostream>
#include <string>
using namespace std;
void solve();
void solution();
string s;
int result;
void solve()
{
char temp = '0';
for (int i = 0; i < s.size(); i++)
{
if (temp != s[i])
{
temp = s[i];
result++;
}
}
solution();
}
void solution()
{
cout << result;
}
int main()
{
int n;
cin >> n;
cin >> s;
solve();
}
3. 출석부
#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
using namespace std;
void solve();
void solution();
pair<float, string>temp[10005];
pair<string,float>person[10005];
int N;
int k;
void solve()
{
sort(temp, temp + N);
for (int i = 0; i < N; i++)
{
person[i] = make_pair(temp[i].second, temp[i].first);
}
sort(person, person + N);
solution();
}
void solution()
{
cout << fixed;
cout.precision(2);
cout << person[k - 1].first <<' '<< person[k - 1].second;
}
int main()
{
float height;
string name;
cin >> N >> k;
for (int i = 0; i < N; i++)
{
cin >> name >> height;
temp[i] = make_pair(height, name);
}
solve();
}
4. 폭탄 구현하기
#include <iostream>
using namespace std;
void solve();
void solution();
int dx[4] = { 0,0,1,-1 };
int dy[4] = { 1,-1,0,0 };
int n;
int k;
int result;
int map[25][25];
void solve()
{
for (int i = 0; i < k; i++)
{
int a, b;
cin >> a >> b;
map[a - 1][b - 1] += 1;
for (int dir = 0; dir < 4; dir++)
{
int nx = (a - 1) + dx[dir];
int ny = (b - 1) + dy[dir];
if (nx < 0 || ny < 0 || nx >= n || ny >= n)continue;
map[nx][ny] += 1;
}
}
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
result += map[i][j];
solution();
}
void solution()
{
cout << result;
}
int main()
{
cin >> n;
cin >> k;
solve();
}