https://www.acmicpc.net/problem/4358
๋ฌธ์
์ํํ์์ ๋๋ฌด์ ๋ถํฌ๋๋ฅผ ์ธก์ ํ๋ ๊ฒ์ ์ค์ํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋น์ ์ ๋ฏธ๊ตญ ์ ์ญ์ ๋๋ฌด๋ค์ด ์ฃผ์ด์ก์ ๋, ๊ฐ ์ข ์ด ์ ์ฒด์์ ๋ช %๋ฅผ ์ฐจ์งํ๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด์ผ ํ๋ค.
์ ๋ ฅ
ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ํ ์ค์ ํ๋์ ๋๋ฌด ์ข ์ด๋ฆ์ด ์ฃผ์ด์ง๋ค. ์ด๋ค ์ข ์ด๋ฆ๋ 30๊ธ์๋ฅผ ๋์ง ์์ผ๋ฉฐ, ์ ๋ ฅ์๋ ์ต๋ 10,000๊ฐ์ ์ข ์ด ์ฃผ์ด์ง๊ณ ์ต๋ 1,000,000๊ทธ๋ฃจ์ ๋๋ฌด๊ฐ ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฃผ์ด์ง ๊ฐ ์ข ์ ์ด๋ฆ์ ์ฌ์ ์์ผ๋ก ์ถ๋ ฅํ๊ณ , ๊ทธ ์ข ์ด ์ฐจ์งํ๋ ๋น์จ์ ๋ฐฑ๋ถ์จ๋ก ์์์ 4์งธ์๋ฆฌ๊น์ง ๋ฐ์ฌ๋ฆผํด ํจ๊ป ์ถ๋ ฅํ๋ค.
ํ์ด
๋ฌธ์ ํ์ด๋ณด๋ค ์ ์ถ๋ ฅ์ด ๋ ๊น๋ค๋ก์ด ๋ฌธ์
C++์์ ์ถ๋ ฅ ์์ซ์ ์ ๊ณ ์ ํ๋ ๋ฒ
cout << fixed;
C++์์ ์์์ ์๋ n๊ฐ ์ซ์๋ฅผ ์ถ๋ ฅํ๋ ๋ฒ
cout.precision(n);
๊ทธ๋ฆฌ๊ณ ๊ณ์ฐ์ ์ฌ์ฉ๋๋ ์๋ค์ int๊ฐ ์๋ double๋ก ์ง์ ํ๋๊ฑธ ์์ง ๋ง์
// ํ์ด : https://whkakrkr.tistory.com
#include <iostream>
#include <map>
#include <cmath>
using namespace std;
int main() {
string input;
double total=0;
map<string, double>tree;
while(getline(cin, input)) {
tree[input]++;
total++;
}
cout << fixed; // ์์ซ์ ๊ณ ์
cout.precision(4); // ์์์ ์๋ 4๊ฐ ์ถ๋ ฅ
for(auto i : tree) {
double value = 100 * i.second / total;
cout << i.first << " " << value << "\n";
}
return 0;
}
'๐๏ธ ICPC Sinchon > Linear Data Structure' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][C++] ๋ฐฑ์ค 25192๋ฒ: ์ธ์ฌ์ฑ ๋ฐ๋ฅธ ๊ณฐ๊ณฐ์ด (0) | 2024.08.23 |
---|---|
[C++][BOJ] ๋ฐฑ์ค 1822๋ฒ: ์ฐจ์งํฉ (0) | 2024.08.23 |
[BOJ][C++] ๋ฐฑ์ค 1966๋ฒ: ํ๋ฆฐํฐ ํ (0) | 2023.11.07 |
[BOJ][C++] ๋ฐฑ์ค 17299๋ฒ: ์ค๋ฑํฐ์ (0) | 2023.05.25 |
[BOJ][C++] ๋ฐฑ์ค 1918๋ฒ: ํ์ ํ๊ธฐ์ (0) | 2023.05.24 |