쌓고 쌓다
[백준] 생태학 4358번 C++ 풀이 본문
https://www.acmicpc.net/problem/4358
#include <iostream>
#include <map>
#include <string>
using namespace std;
map<string, int> m;
int main(void)
{
cin.tie(0);
ios_base::sync_with_stdio(0);
cout << fixed;
cout.precision(4);
string str;
int N=0; // 전체 개수
while (getline(cin,str))
{
N++;
m[str]++;
}
for (auto iter = m.begin(); iter != m.end(); iter++)
{
cout << iter->first << " "<<(double)iter->second/N*100<<"\n";
}
}
어~~ 이 문제를 푸는데 ^Z 입력 즉, 그만 입력할 때까지 입력받는 방법도 까먹고 map iterator도 까먹고~~~
소수점 4자리까지만 표시할줄 모르고~~ 막막했지만, 그냥 풀이 보면서 익혔다~
iter를 map<string,int>::iterator iter 으로 해도 무방하지만 auto라는것을 보고 한번 써봤는데 좋다~
cout.precision(n) : 정수+소수점이 있는데 모두 해서 자리수 고정이다. 4를 입력 시 XX.XX만 나온다 무조건 4자리.
하지만 이 cout.precision 앞에 cout<<fixed를 입력할 경우 소수점 자리가 고정이 된다.
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 학점계산 2754번 C++ 풀이 (0) | 2022.01.05 |
---|---|
[백준] 일곱 난쟁이 2309번 C++ 풀이 (0) | 2022.01.04 |
[백준] 공장 7578번 C++ 풀이 (0) | 2022.01.02 |
[백준] 창고 다각형 2304번 C++ 풀이 (0) | 2022.01.01 |
[백준] 대칭 차집합 1269번 C++ 풀이 (0) | 2021.12.31 |
Comments