백준 10809 알파벳 찾기 C++

Kkackit·2021년 12월 31일
0

Beakjoon

목록 보기
19/33

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

기본적으로 문장 입력받고 문장을 순회하면서
알파벳 배열(a부터 z까지의 좌표가 적힌, -1이 기본값)에 위치를 저장해주면 된다.

조건문이나 스위치문을 26개 달아서 해야하나는 생각이 잠깐 들긴했는데
아스키 코드를 쓰면 되겠더라.

a의 아스키코드는 97이니
97을 빼주면
a는 0 z는 25로 만들 수 있다는 아이디어로 해결.

#include<iostream>

using namespace std;

int main(void)
{
    int alphabet_Array[26];

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

    cin>>input_Sentence;


    int len_Sentence = input_Sentence.length();
    
    for(int i = 0; i < len_Sentence; i++)
    {
        int spell = input_Sentence[i]; //문자를 아스키 코드로 변환

        spell = spell - 97; //a가 0부터 시작하게 바꿈

        if(alphabet_Array[spell] == (-1))
        {
            alphabet_Array[spell] = i;
        }

    }

    for(int i = 0; i < 26; i++)
    {
        cout<<alphabet_Array[i]<<" ";
    }
}

0개의 댓글