스터디/알고리즘

[백준 10808] 알파벳 개수

덩이 2022. 5. 11. 00:38
#include <bits/stdc++.h>
using namespace std;

int main(){
    string str;
    int alpa[26]={0};
    cin >> str;
    for(int i=0; i<str.size(); i++){
         alpa[str[i]-'a']++;
    }
    // for(char a: str){
        // alpa[a-'a']++;
    // }
    for(int i=0; i<26; i++){
        cout << alpa[i] << " ";
    }
    return 0;
}

auto를 쓰면 더 간단하게 코드를 작성할 수 있다... 내 vscode에서는 설정을 빠트렸는지 안돌아감

아스키코드를 숫자로 형변환 하는 방법으론 아래와 같이 표현할 수 있다.

char a = 'a';  cout << (int)a - 97 << "\n";

char a = 'a';  cout << (int)a - 'a' << "\n";

입력받은 문자열 크기만큼 for문을 돌리고

아스키 코드를 숫자로 형변환 한 값을 알파벳 배열의 인덱스로 넣어주고

해당 알파벳의 인덱스 위치(?)를 증가 시키는 것으로 구현