728x90
반응형
https://www.acmicpc.net/problem/4358
4358번: 생태학
프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어
www.acmicpc.net
#include <iostream>
#include <string>
#include <map>
using namespace std;
int main() {
string str;
map<string, float> m;
float cnt = 0;
while(getline(cin, str)){
cnt++;
if(m.find(str) == m.end()){
m[str] = 1;
} else{
m[str]++;
}
}
cout << fixed;
cout.precision(4);
for(auto iter = m.begin(); iter != m.end(); iter++){
float x = (iter->second / cnt) * 100;
cout << iter->first << " " << x << endl;
}
return 0;
}
새로 알게된 것
소수점 자릿수를 정해서 출력해야 될 때 printf만 썼었는데 cout으로 소수점 출력하는 방법을 알아보았다.
cout.precision(n)은 n자리로 출력하라는 뜻이다. 예를 들어 123.456689에서 n이 7이면 123.4567로 보여준다.
cout << fixed를 추가하면 소수점 이하의 자릿수만 다룰 수 있게 된다. 소수점 이하 n개의 수를 나타낼 것이란 뜻이다. 예를 들어 123.456689에서 n이 4이면 123.4567로 보여준다.
728x90
반응형
'Algorithm > BAEKJOON' 카테고리의 다른 글
[BOJ] 1302번 베스트셀러 (C++) (0) | 2022.02.06 |
---|---|
[BOJ] 7656번 만능 오라클 (C++) (0) | 2022.02.05 |
[BOJ] 19583번 싸이버개강총회 (C++) (0) | 2022.02.04 |
[BOJ] 2941번 크로아티아 알파벳 (C++) (0) | 2022.02.03 |
[BOJ] 23028번 5학년은 다니기 싫어요 (C++) (0) | 2022.02.02 |