https://www.acmicpc.net/problem/10809
cin과 getline은 뒤에 널문자를 붙여준다. 그래서 cin이나 getline으로 100글자를 입력 받고 싶으면 널 문자까지 101을 해줘야 한다.
알파벳 찾기 코드는 다음과 같다.
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int main(void) {
ios::sync_with_stdio(false);
cin.tie(NULL);
char word[101];
int alph[26] = { 0, }; // 26개의 알파벳 수
cin >> word;
int len = strlen(word);
//단어가 처음 등장하는 위치
for (int i = 0; i < 26; i++)
{
alph[i] = -1;
}
for (int i = 0; i < len; i++)
{
char c=word[i];
int n;
n = (int)c; //97~122
//cout << "알파벳은 " << c << "\n";
//cout << "인덱스는" << n - 97 << "\n";
if ((96 < n && n < 123) && (alph[n-97] == -1)) {
alph[n - 97] = i; //a가 0번째
//cout << "배열에는 " << i << "가 저장됩니다.\n";
}
}
for (int i = 0; i < 26; i++)
{
if (i < 25)
cout << alph[i] << " ";
else
cout << alph[i];
}
return 0;
}
yes를 입력하면 종료하는 프로그램 (0) | 2023.02.18 |
---|---|
문자열 비교 compare strcmp (0) | 2023.02.18 |
댓글 영역