728x90
문제풀이
두가지 방법으로 풀이하였다.
1. find 함수를 사용해서 푸는 방법
2. find 함수를 사용하지 않고 푸는 방법
find 함수란?
문자열에서 문자가 최초로 등장한 인덱스 번호를 반환하는 함수
s.find(i) -> 문자열 s에서 문자 i가 최초로 등장하는 인덱스 번호를 반환
코드
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
cin >> s;
int i, j;
string alphabet = "abcdefghijklmnopqrstuvwxyz"; //알파벳 배열 생성
for (i=0; i<alphabet.length(); i++)
for (j=0; j<s.length(); j++)
{
if (s[j] == alphabet[i]) //알파벳에 해당 글자가 있다면
{
cout << j << " ";
break;
}
if (s[j] != alphabet[i]) //해당 글자가 없다면 -1
cout << -1 << " ";
}
}
return 0;
}
1. find 함수를 사용하지 않은 코드
#include <iostream>
#include <string>
using namespace std;
int main() {
int cnt[26] = { 0 };
string s;
cin >> s;//문자열 입력
for (char i = 'a'; i <= 'z'; i++) {
cout << (int)s.find(i) << ' '; // 문자열 s에서 문자 i가 최초로 등장하는 인덱스 번호 반환
}
return 0;
}
2. find 함수를 사용한 코드
728x90
'✍️ Algortihm > C++' 카테고리의 다른 글
백준 2908번 상수 C++ (0) | 2024.04.08 |
---|---|
백준 1152번 단어의 개수 C++ (0) | 2024.04.08 |
[백준] 11720번 숫자의 합 C++ (0) | 2024.04.04 |
[백준] 9086 문자열 C++ (0) | 2024.04.04 |
[백준] 2743 단어 길이 재기 C++ (0) | 2024.04.04 |