-
[BOJ 10808] 알파벳 개수Language/C++ 2022. 7. 30. 09:27
해당 문제에서 고민했던 부분 : 문자 <=> 숫자 Case 변환 어떻게 하지?
* a-z 가 ascii code 숫자가 연속적이므로, 배열을 저런식으로 구성하면 index에 효과적으로 접근할 수 있음.
#include <bits/stdc++.h> using namespace std; int main(void) { ios::sync_with_stdio(0); cin.tie(0); string c; cin >> c; int freq[26] = { 0 }; // 26: 알파벳 개수 char s; // 해당 배열 문제 : O(N) 복잡도 for (char i = 0; i < c.length(); i++) { s = c[i]; // ascii code 의 값이 a-z까지 연속적인 것을 이용하여 // ascii code : a = 97 // ascii code : z = 122 // 문자 <=> 숫자 index로 넘어갈 수 있음. freq[s - 'a'] ++; } for (int j = 0; j < 26; j++) { cout << freq[j] << " "; } }'Language > C++' 카테고리의 다른 글
[C++ ] Arrow operator (0) 2022.08.03 [C++] C/C++ Pointer 변수 크기 (0) 2022.08.02 [C++] namespace 와 std 의미 (0) 2022.07.30 [C++] 참조자 vs 포인터 (0) 2022.07.28