개인공부/백준

[백준(BOJ)] 알파벳 찾기 | 10809번 문제 풀이 (브론즈2, C언어)

피까츄 2024. 7. 7. 12:00

1. 문제

2. 풀이

배열 word를 모두 -1로 초기화해둔 뒤

단어의 길이만큼 for문을 돌리며 word[i] -'a'을 이용한다

word[i] - 'a'를 하면 a가 0이 되고, b는 1이 되는 등 차례차례 0 ~ 25가 된다

 

맨 처음 나온 위치에 맞춰야하기 때문에 -1인지 확인하는 검사도 필요하다

3. 코드

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>

int main(void) {
    char word[100];
    char alpabet[26];
    scanf("%s", word);

    for (int i = 0; i < 26; i++) {
        alpabet[i] = -1;
    }

    for (int i = 0; i < strlen(word); i++) {
        if (alpabet[word[i] - 'a'] == -1)
            alpabet[word[i] - 'a'] = i;
    }

    for (int i = 0; i < 26; i++) {
        printf("%d ", alpabet[i]);
    }

    return 0;
}

 

4. 참고