반응형
https://www.acmicpc.net/problem/4358
#include <iostream>
#include <map>
using namespace std;
// 생태학
string str;
map <string, double> trees;
long tree_count;
int main() {
// 입력의 끝까지만 실행
while(!cin.eof()) {
getline(cin, str);
if(str == "") break;
trees[str]++;
tree_count++;
}
map<string, double>::iterator it;
// 소수점 4자리까지만 출력
cout << fixed;
cout.precision(4);
for(it = trees.begin(); it != trees.end(); it++)
cout << it->first << " " << ((it->second) / tree_count) * 100 << endl;
return 0;
}
아래는 처음 본 함수.
cout << fixed;
cout.precision(4);
C언어에서의 "%.4f" 와 동일하다.
처음 문제를 봤을 때 생각한 알고리즘과 완전 동일했으나 (map 사용하여 계산, 자동정렬)
소수점 출력이나, end of file까지 실행하는 방식을 명확하게 알고있지 않아서 검색 없이 풀이가 불가능했다.
그밖에도 iterator 문법 잊지 말 것.
반응형
'Algorithm' 카테고리의 다른 글
[백준 18809] Gaaaaaaaaaarden (0) | 2020.07.05 |
---|---|
[백준 19238] 스타트 택시 (0) | 2020.06.20 |
X-code 특정 파일 배제하고 빌드하기 (2) | 2020.02.10 |
[백준 17472] 다리만들기 2 (0) | 2020.02.10 |
[백준 17142] 연구소 3 (0) | 2020.02.10 |
댓글