728x90
- ๋ฌธ์
์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋จ์ด S๊ฐ ์ฃผ์ด์ก๋ค. ๊ฐ ์ํ๋ฒณ์ด ๋จ์ด์ ๋ช ๊ฐ๊ฐ ํฌํจ๋์ด ์๋์ง๋ฅผ ๊ตฌํ๋ผ.
๋จ์ด์ ํฌํจ๋์ด ์๋ a์ ๊ฐ์, b์ ๊ฐ์, …, z์ ๊ฐ์๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํ๋ค.
- ํ์ด
์ํ๋ฒณ์ ๊ฐ์๊ฐ ์ด 26๊ฐ์ด๊ณ , ๋ฌธ์์ด์ ์์คํค ์ฝ๋๋ก ํํ์ด ๊ฐ๋ฅํ๋ฏ๋ก index ์ ๋ฐ๋ผ ์ ์๊ฐ์ ๊ฐ๋๋ค๋ ๊ฒ์ ์ด์ฉํ๋ฉด ๋๋ค.
1) ๋จ์ด S ์ ์ํ๋ฒณ ๊ฐ์๋ฅผ count ํ ๋ฒกํฐ๋ฅผ ๋ง๋ ๋ค.
vector<int> alphabets(26, 0);
2) ์์คํค๊ฐ์ ์ฌ์ฉํด์ ์ํ๋ฒณ index ๋ฅผ ๊ตฌํด์ 1)์์ ๋ง๋ ๋ฒกํฐ์ ์นด์ดํธํ๋ค.
int index = (int)alphabet[i] - (int)'a';
a ๋ฅผ ์์คํค ์ฝ๋ ๊ฐ์ผ๋ก ํํํ๋ฉด 97 ์ด๋ค.
์ฆ, alphabet[i] ๊ฐ์ด a ๋ผ๋ฉด 97์ ๋นผ๋ฉด 0์ด ๋๋ค.
b๋ 1, c๋ 2, d๋ 3, ...
- ๊ธฐ์ตํ ๊ฒ
1) ๋ฒกํฐ ํฌ๊ธฐ ์์ฑ ๋ฐ ์ด๊ธฐํ
vector<int> alphabets(26, 0);
2) a ์ ์์คํค๊ฐ
97 |
- ์ฝ๋
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> alphabets(26, 0);
string alphabet = "";
cin >> alphabet;
for (int i = 0; i < alphabet.length(); i++) {
int index = (int)alphabet[i] - (int)'a';
alphabets[index] += 1;
}
for (int i = 0; i < alphabets.size(); i++) {
cout << alphabets[i] << " ";
}
return 0;
}
C++ ๋๋ง์ ํธ๋๊น ๊ตฌ๋ฌธ์ด ํท๊ฐ๋ฆฐ๋ค ํํ
728x90
'๐ Coding Test Study > Algorithm Problem' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++][Baekjoon][๋ฌธ์์ด] 9996๋ฒ ํ๊ตญ์ด ๊ทธ๋ฆฌ์ธ ๋ ์๋ฒ์ ์ ์ํ์ง (1) | 2024.03.31 |
---|---|
[C++][Baekjoon][๋ฌธ์์ด] 11655๋ฒ ROT13 (0) | 2024.02.17 |
[C++][Goorm][ํ์] ์นด๋ ๊ตํํ๊ธฐ (0) | 2023.06.11 |
[C++][Goorm][์ ๋ ฌ] ๋จ์ด์ฅ ๋ง๋ค๊ธฐ (1) | 2023.06.08 |
[C++][Programmers][BFS/DFS] ์์ดํ ์ค๊ธฐ (0) | 2023.06.06 |