문제
풀이
이 문제는 입력받은 단어의 각 알파벳이 몇번째에서 나오는지를 a~z까지 출력해주는 문제입니다. 만약 해당 알파벳이 나왔다면 0번째부터 순서를 출력하면 되고, 알파벳이 나오지 않았을 경우 -1을 출력해주면 됩니다.
먼저 알파벳 수만큼의 배열 alpha[26]과 입력할 수 있는 단어의 최대길이 arr[100]을 선언해 준 후에 arr[0]부터 alpha[0]~alpha[25]까지 비교 후 일치하는 알파벳이 있는 경우 배열의 순번을 알파벳에 해당하는 배열의 값으로 넣어주면 됩니다. 소스코드는 아래와 같습니다.
소스코드
#include <iostream>
#include <cstdlib>
using namespace std;
int main(){
int alpha[26];
char input[100];
int value=0;
for (int i = 0; i < 27; i++)
{
alpha[i]=-1;
}
cin >> input;
for (int i = 0; i < 101; i++)
{
value= input[i]-'a' ;
if(value<0) break;
if (alpha[value]==-1) alpha[value]= i;
}
for (int i = 0; i < 26; i++)
{
cout << alpha[i] << " ";
}
}
'Algorithm > Python, C++' 카테고리의 다른 글
백준 1157_단어 공부 [C++] (0) | 2022.07.07 |
---|---|
백준 2675_문자열 반복 [C++] (0) | 2022.07.05 |
백준 11720_숫자의 합 [C++] (0) | 2022.07.04 |
백준 11654_아스키 코드 [C++] (0) | 2022.07.02 |
백준 1436_영화감독 숌 [C++] (0) | 2022.06.29 |
댓글