백준 10809_알파벳 찾기.cpp

hello_hidi·2021년 6월 26일
0

baekjoon_C++

목록 보기
4/33
post-thumbnail

<코드>

#include <iostream>
#include <cstring>
using namespace std;
char alpabet[26] = {'a','b','c','d','e','f','g',
                    'h','i','j','k','l','m','n',
                    'o','p','q','r','s','t','u','v',
                    'w','x','y','z'}; //알파벳 배열

int main(){
    string buffer; //입력받을 문자열
    int check = 0; //해당 알파벳이 문자열 내에 있는지 확인하는 변수
    cin >> buffer;
    for(int i = 0; i < 26; i++){
        for(int j = 0; j < buffer.length(); j++){//알파벳 한개씩 돌면서(a~z)
            if(alpabet[i] == buffer[j]){//만약 문자열 내에 알파벳이 있다면
                cout << j << " "; //그 인덱스를 출력하고
                check = 0; //check값을 초기화 시켜준다.
                break; //처음 위치를 찾는 거기 때문에 바로 break;
            }else{
                check = 1; //없다면 check값을 1로 바꿔준다.
            }
            
        }
        if(check == 1){ //문자열 내에 알파벳이 없다면
            cout << -1 << " "; //-1을 출력해준다.
        }
    }
    return 0;
}
  1. 변수
    string buffer : 입력받은 문자열
    int check : 해당 알파벳이 문자열 내에 있는지 확인하는 변수
    char alpabet[26] : 알파벳을 모와둔 배열
  1. 알고리즘
    1) 문자열을 입력 받는다.
    2) 알파벳을 한개씩 돌면서 문자열 내에 알파벳이 있는지 확인한다.
    3) 만약 있다면 그 문자의 index를 출력해주고 check값을 0으로 초기화 해준다.
    4) 또한 처음 위치를 알기 위함이기 때문에 break로 반복문을 탈출한다.
    5) 만약 문자열 내에 알파벳이 없다면 check값을 1로 바꿔준다.
    6) 문자열 내에 해당 알파벳이 없다면 -1을 출력해준다.
  1. 배운점
    문자열 길이 : 변수.length();
    char형 배열 길이 : strlen(변수);
  1. 아쉬운점&느낀점
    가장 중요한 문제점을 발견했다. 그때그때 생각나는대로 변수를 생성해버리니까
    나중에 이 변수가 어떠한 기능을 하는지 헷갈려서 미로에 빠져버렸다. 앞으로는
    변수를 생성하거나 알고리즘을 짤 때 먼저 그 변수의 기능을 먼저 주석으로 달고
    코딩을 하는 습관을 길러야겠다.
profile
안뇽희디

0개의 댓글