-
10808) 알파벳 개수 C++백준코딩일기 2020. 10. 16. 23:53
문제 ) www.acmicpc.net/problem/10808
10808번: 알파벳 개수
단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다.
www.acmicpc.net
풀이 )
string 입력을 받고 받은 문자를 한 글자씩 확인해서 a~z까지의 알파벳이 몇개 포함 되어 있는지 확인하면된다.
알파벳의 개수를 담는 c 라는 배열을 전역변수로 지정한 이유는 굳이 초기화를 하지 않아도 0값이 세팅되기 때문이다.
지역변수로 지정할 경우 int c[26] = { } 이런식으로 0을 넣는 작업을 해주어야한다.소문자 알파벳 a~z 는 아스키코드로 97~122번까지 인접하게 붙어 있어서
a=0, b=1, ... z=25 로 만들기 위해서는 97 이라는 숫자를 빼도 되지만, 'a' 를 빼줘도 동일하게 적용된다.코드 )
#include <iostream> #include <string> using namespace std; int c[26]; int main(void){ ios::sync_with_stdio(0); cin.tie(0); string str; cin >> str; for(int i=0; i<str.size(); i++){ c[str[i] - 'a']++; cout << str[i]<< "\n"; } for(int i=0; i<26; i++) { cout<< c[i] <<" "; } }
'백준코딩일기' 카테고리의 다른 글
2577) 숫자의 개수 (0) 2020.10.17 10807) 개수 세기 c++ (0) 2020.10.17 11652) 카드 - JAVA (0) 2020.03.08 10825) 국영수 - Java (0) 2020.02.19 17103) 골드바흐 파티션 - Java (0) 2020.01.29