Home 알파벳 개수 백준 10808번 배열
Post
Cancel

알파벳 개수 백준 10808번 배열

https://www.acmicpc.net/problem/10808

문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각 알파벳이 단어에 몇 개가 포함되어 있는지 구하는 프로그램을 작성하시오.

1
2
3
4
5
6
7
8
9
10
#a = 'baekjoon'
a = input()
string_count = [0]*26

len_num = len(a)
for i in range(len_num):
    string_count[(ord(a[i])-97)]+=1
    
for i in range(26):
    print(string_count[i], end=' ')

어차피 문자열을 동적으로 생성할 필요가 없다. 알파벳은 26개로 정해져 있기 때문이다.

알파벳이 들어오면 아스키코드로 바꿔주자 그러면 a는 97부터해서 쭉 연속된 숫자로 이어지기 때문에 97을 빼주면 된다.

그렇게 얻은 숫자를 배열의 인덱스로 삼고 1을 더해주면 된다.

그리고 모든 문자열을 탐색해야만 문자열을 출력할 수 있으니 시간 복잡도도 n+26 으로 봐줄만 한다.

This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.