๋ฌธ์
์น๊ตฌ๋ก๋ถํฐ ๋ ธํธ๋ถ์ ์ค๊ณ ๋ก ์ฐ ์ค๋ธ๋ฌ์ค๋ ๋ ธํธ๋ถ์ ์ผ์๋ง์ ๊ฒฝ์ ํ ์๋ฐ์ ์์๋ค. ๋ฐํํ๋ฉด์ ์จ๊ฐ ํ์ผ๋ค์ด ์ ๋ฆฌ๋ ์ ๋ ์ฑ ๊ฐ๋ํ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋ฉด์ ๊ตฌ์์์ ์น๊ตฌ์ ๋ฉ์์ง๋ฅผ ํ์ธํ ์ ์์๋ค.
๋ฐํํ๋ฉด์ ํ์ผ๋ค์๋ ๊ฐ์ง ๋ณด๋ฌผ์ ๋ํ ์ ๋ณด๊ฐ ๋ค์ด ์์ด. ํ๋๋ผ๋ ์ง์ฐ๊ฒ ๋๋ค๋ฉด ๋ณด๋ฌผ์ ๋ฌผ๋ก ์ด๊ณ ๋ค์๋ ๋ ธํธ๋ถ์ ์ธ ์ ์๊ฒ ๋ ๊ฑฐ์ผ. ํ์ผ๋ค์ ์ ๋ถ์ํด์ ๋ณด๋ฌผ์ ์ฃผ์ธ๊ณต์ด ๋ ์ ์๊ธธ ๋ฐ๋๊ฒ. ํํธ๋ “ํ์ฅ์”์ผ.
ํ๊ฐ ๋ฌ๋ ์ค๋ธ๋ฌ์ค๋ ๋ณด๋ฌผ ์ด์ผ๊ธฐ์ ๊ธ์ธ ํ๊ฐ ํ๋ ธ๊ณ ๋ณด๋ฌผ์ ์ ๋ณด๋ฅผ ์์๋ด๋ ค๊ณ ์ ์ผ๋ค. ํ์ง๋ง ํ์ผ์ด ๋๋ฌด ๋ง์ ํ์ ์ด๋ด ํฌ๊ธฐํ๊ณ ๋ณด๋ฌผ์ ์ ๋ฐ์ ๋ณด์์ผ๋ก ํ์ผ์ ์ ๋ฆฌ๋ฅผ ์์ฒญํด์๋ค. ์ค๋ธ๋ฌ์ค์ ์์ฒญ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ํ์ผ์ ํ์ฅ์ ๋ณ๋ก ์ ๋ฆฌํด์ ๋ช ๊ฐ์ฉ ์๋์ง ์๋ ค์ค
- ๋ณด๊ธฐ ํธํ๊ฒ ํ์ฅ์๋ค์ ์ฌ์ ์์ผ๋ก ์ ๋ ฌํด ์ค
๊ทธ๋ผ ๋ณด๋ฌผ์ ์ ๋ฐ์ ์ป์ด๋ด๊ธฐ ์ํด ์ผ๋ฅธ ์ค๋ธ๋ฌ์ค์ ๋ ธํธ๋ถ ํ์ผ ์ ๋ฆฌ๋ฅผ ํด์ค ํ๋ก๊ทธ๋จ์ ๋ง๋ค์!
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฐํํ๋ฉด์ ์๋ ํ์ผ์ ๊ฐ์ N ์ด ์ฃผ์ด์ง๋ค. (1≤N≤50 000 )
๋์งธ ์ค๋ถํฐ N๊ฐ ์ค์ ๋ฐํํ๋ฉด์ ์๋ ํ์ผ์ ์ด๋ฆ์ด ์ฃผ์ด์ง๋ค. ํ์ผ์ ์ด๋ฆ์ ์ํ๋ฒณ ์๋ฌธ์์ ์ (.)์ผ๋ก๋ง ๊ตฌ์ฑ๋์ด ์๋ค. ์ ์ ์ ํํ ํ ๋ฒ ๋ฑ์ฅํ๋ฉฐ, ํ์ผ ์ด๋ฆ์ ์ฒซ ๊ธ์ ๋๋ ๋ง์ง๋ง ๊ธ์๋ก ์ค์ง ์๋๋ค. ๊ฐ ํ์ผ์ ์ด๋ฆ์ ๊ธธ์ด๋ ์ต์ 3, ์ต๋ 100์ด๋ค.
์ถ๋ ฅ
ํ์ฅ์์ ์ด๋ฆ๊ณผ ๊ทธ ํ์ฅ์ ํ์ผ์ ๊ฐ์๋ฅผ ํ ์ค์ ํ๋์ฉ ์ถ๋ ฅํ๋ค. ํ์ฅ์๊ฐ ์ฌ๋ฌ ๊ฐ ์๋ ๊ฒฝ์ฐ ํ์ฅ์ ์ด๋ฆ์ ์ฌ์ ์์ผ๋ก ์ถ๋ ฅํ๋ค.
ํ์ด
๋ฌธ์ ์กฐ๊ฑด์์ ์์ํ๋ฏ์ด ๋งต์ ์ฐ๋ ๋ฌธ์ ์ด๋ค. substring๋ง ํ๋ค๋ฉด ์ฝ๊ฒ ํ ์ ์๋ค๊ณ ์๊ฐํ๋ค.
#include <iostream>
#include <map>
using namespace std;
int main() {
int n;
string filename, ext;
map<string, int> extension; // ํ์ฅ์๋ณ ๊ฐ์ ์ ์ฅ
// ์
๋ ฅ
cin >> n;
while(n--){
cin >> filename;
// .๋ค์ ํ์ฅ์๋ช
ext = filename.substr(filename.find(".") +1, filename.length());
extension[ext] += 1;
}
for (auto iter : extension){
cout << iter.first << " " << iter.second << "\n";
}
}
'โจ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/C++] 1213๋ฒ: ํฐ๋ฆฐ๋๋กฌ ๋ง๋ค๊ธฐ (0) | 2022.07.24 |
---|---|
[๋ฐฑ์ค/C++] 20920๋ฒ: ์๋จ์ด ์๊ธฐ๋ ๊ดด๋ก์ (0) | 2022.07.17 |
[๋ฐฑ์ค/C++] 19583๋ฒ: ์ธ์ด๋ฒ๊ฐ๊ฐ์ดํ (0) | 2022.07.17 |
[๋ฐฑ์ค/C++] 11478๋ฒ: ์๋ก ๋ค๋ฅธ ๋ถ๋ถ ๋ฌธ์์ด์ ๊ฐ์ (0) | 2022.07.17 |
[๋ฐฑ์ค/C++] 2776๋ฒ: ์๊ธฐ์ (0) | 2022.07.17 |
๋๊ธ