문제
- 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.
조건
알고리즘
- 26단어 -1로 채운 array를 만든다.
- 단어를 String으로 입력받는다.
- 단어의 알파벳 처음부터 하나씩 알파벳의 ASCII Code를 구해서 해당 array에 몇번째인지 집어넣는다.
오늘 배운거
- 단어 → 숫자(ASCII)로 바꾸는 방법
- 그냥 int type에다가 = char하면 자동으로 집어넣어진다.
- char a = ‘c’;
- int ac = a;
Code
#include <stdio.h>
#include <string.h>
int main(){
int output[26];
char input[100];
for(int i = 0; i < 26; i++){
output[i] = -1;
}
scanf("%s", input);
for(int i = 0; i < 100; i++){
if(!strcmp(&input[i], "")){
break;
}else{
int digit = input[i];
digit = digit - 97;
if(output[digit]==-1){
output[digit] = i;
}
}
}
for(int i = 0; i < 26; i++){
printf("%d ", output[i]);
}
}