본문 바로가기

스터디

백준 10808

반응형

 

 

 

해당 문제를 보고 어떻게 짤지 살짝 생각해봤다. 

카운트 문제는 map 또는 배열을 꼭 생각해야 한다.

 

map은 string일때 arr은 int일때 사용하면 되고 주어진 요소가 대신 포인터처럼 10만 100만 1000만 오는경우는 map을 써야한다.

문자를 카운트 해야하니까 아스키 코드로 바꿔서 a = 97 이니까 아스키코드로 바꿔서 하면되겠구나 생각한다.

c++의 경우는 바로 문자를 뺄수 있다.


 

#include <iostream>
using namespace std;

string s;
vector<int>;
int main() {
    cin >> s;

    for(char c: s):
        
    s 입력받은걸 한문자 한문자 체크해서 어떤 문자인지 체크하기

    for s[0]~s[-1]까지 

   [현재문자 -'a'] ++ 숫자가 맞는거에맞게 배열 인덱스 ++ 

    다 돌고 나면

   
    
    
    cout << 배열 << '\n';
    return 0;
    
}


이런식으로 하고 c++ 에 익숙하지않아 ai에게 물어보았다.

 

해당 결과를 바탕으로 이렇게 수정하였다.

 

#include <iostream>
using namespace std;

string s;
int count[26] = {0,};

int main() {
    cin >> s;

    for(char c: s){
        count[c-'a']++;
    }
        
    for(int i=0; i < 26; i++){
        cout << count[i] << " ";
    }
    
    
    return 0;
    
}