Uknow's Lab.
article thumbnail

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

 

10809번: 알파벳 찾기

각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출

www.acmicpc.net

 

난이도 : 브론즈 2
태그 : 구현, 문자열

 

 

설명

26개의 배열을 선언하고 -1로 초기화한뒤,

A ~ Z, 각 문자가 처음으로 나오는 순간이 몇 번째인지 저장합니다.

첫 번째로 나오는 순간이므로,

-1인지 확인 후 업데이트 하는게 주의점입니다.

 

 

소스코드

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

int main() {
    char str[100];

    scanf("%s", str);

    int result[26] = {};

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

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

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

 

 

profile

Uknow's Lab.

@유노 Uknow

인생은 Byte와 Double 사이 Char다. 아무말이나 해봤습니다.