[C언어 코드업 문제풀이] CodeUp 1412 : 알파벳 개수 출력하기

코드업 1412번 알파벳 개수 출력하기 문제 풀이 해답입니다.

 

1. 문제 설명

 

어떤 영어 문장이 주어지면 각 알파벳이 몇 번 나왔는지 출력하시오.

 

2. 입력

 

영어 한 문장이 입력된다. (90글자 이내)

이 문장은 영어 소문자와 공백, 특수문자로 이루어져있다.

 

3. 출력

 

각 알파벳의 개수만 출력한다. 그외 특수문자나 공백의 개수는 출력하지 않는다.

 

4. 입력 예시

 

oh! my god!

 

5. 출력 예시

 

a:0

b:0

c:0

d:1

e:0

f:0

g:1

h:1

i:0

j:0

k:0

l:0

m:1

n:0

o:2

p:0

q:0

r:0

s:0

t:0

u:0

v:0

w:0

x:0

y:1

z:0

 

6. 문제 풀이

 

#include<stdio.h>
 
 
int main(){
    
    char buf[90];
    
    gets(buf); //공백,특수 문자 포함 문자열 입력.
    
    
    //소문자 Ascii a:97 ~ z: 122
    
    for(int i = 97; i <=122; i++){
        int num = 0;
        for (int j = 0; buf[j] != '\0'; j++) {
            if (buf[j] == i){
                num++;
            }
        }
        printf("%c:%d\n",i,num);
        
    }
    
 
    
 
    return 0;
    
 
}
 
 

 

입력받은 문자열을 a부터 z까지(아스키코드 97부터 122까지) for문으로 반복해서 탐색합니다.

buf[j]의 값이 i(해당 알파벳)과 같다면 num을 증가(++)시켜 printf("%c:%d\n",i,num); 을 통해

 

해당 알파벳: 반복횟수 를 출력해줍니다.

 

감사합니다.

댓글()