관리 메뉴

Storage Gonie

(1) [C++, Java] 백준 No.10808 : 알파벳 개수 본문

알고리즘/백준풀이5. 문자열

(1) [C++, Java] 백준 No.10808 : 알파벳 개수

Storage Gonie 2019. 4. 25. 17:14
반응형

문제

풀이

# C++

- strlen 을 사용하기 위해서는 #include <cstring>이 필요하다. 아니면 string 을 사용해서 size 함수 혹은 length 함수를 사용.

#include <iostream>
#include <cstring>

using namespace std;

int main(void)
{
    ios::sync_with_stdio(false);

    // 알파벳의 개수를 저장할 배열 초기화
    int count[26];
    for(int i = 0; i < 26 ; i++)
        count[i] = 0;

    // 알파벳의 개수 카운트
    char s[100];
    cin >> s;

    int len;
    len = strlen(s);
    for (int i = 0; i < len; i++ )
    {
        int index;
        index = int(s[i]) - 97; // 'a'가 아스키코드로 97이기 때문에 'a' 일때 index=0, 'b' 일때 index=1,,,
        count[index] += 1;
    }

    // 결과 출력
    for (int i = 0; i < 26 ; i++)
    {
        if (i < 25)
            cout << count[i] << " ";
        else
            cout << count[i] << endl;
    }
}
#include <iostream>

using namespace std;

int main(void)
{
    ios::sync_with_stdio(false);

    // 알파벳의 개수를 저장할 배열 초기화
    int count[26];
    for(int i = 0; i < 26 ; i++)
        count[i] = 0;

    // 알파벳의 개수 카운트
    string s;
    cin >> s;
    
    for (int i = 0; i < s.size(); i++ )
    {
        int index;
        index = int(s[i]) - 97; // 'a'가 아스키코드로 97이기 때문에 'a' 일때 index=0, 'b' 일때 index=1,,,
        count[index] += 1;
    }

    // 결과 출력
    for (int i = 0; i < 26 ; i++)
    {
        if (i < 25)
            cout << count[i] << " ";
        else
            cout << count[i];
    }
}
#include <algorithm>
#include <iostream>
#include <string>
using namespace std;
int main() {
    string s;
    cin >> s;

    for (int i='a'; i<='z'; i++) {
        cout << count(s.begin(), s.end(), i) << ' ';
    }

    cout << '\n';
    

    return 0;
}

# Java

import java.util.*;

public class Main {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        int[] cnt = new int[26];
        for (int i=0; i<s.length(); i++) {
            cnt[s.charAt(i) - 'a'] += 1;
        }
        for (int i=0; i<26; i++) {
            System.out.print(cnt[i] + " ");
        }
        System.out.println();
    }
}
반응형
Comments